買這商品的人也買了...
-
無瑕的程式碼 - 敏捷軟體開發技巧守則 (Clean Code: A Handbook of Agile Software Craftsmanship)$580$452 -
無瑕的程式碼 番外篇-專業程式設計師的生存之道 (The Clean Coder: A Code of Conduct for Professional Programmers)
$360$281 -
Microsoft SQL Server SSIS 整合服務$850$672 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
圖解資料結構 -- 使用 Java, 3/e$500$390 -
分散式系統設計 (Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services)$480$379 -
持續交付|使用 Java (Continuous Delivery in Java)$780$616 -
Android 程式設計入門、應用到精通, 5/e$560$476 -
D3 實用指南|程式設計師和科學家的互動式圖形工具箱 (D3 for the Impatient : Interactive Graphics for Programmers and Scientists)$520$411 -
重新認識 Vue.js:008天絕對看不完的 Vue.js 3 指南$600$468 -
善用 UX 來提升 UU:打造滿足新手和專家的 UI(iT邦幫忙鐵人賽系列書)$450$351 -
$714Spring Boot + Vue 開發實戰 -
跟著 Docker 隊長,修練 22天就精通 - 搭配 20小時作者線上教學,無縫接軌 Microservices、Cloud-native、Serverless、DevOps 開發架構$880$695 -
TypeScript 邁向專家之路:零基礎 JavaScript 打通 Angular、React 與 Vue.js 前端框架實戰 (Essential TypeScript: From Beginner to Pro)$880$695 -
$270Oracle 從入門到精通, 4/e -
$473Linux從入門到精通(視頻教學版) -
$659微服務項目實戰派 — 從 Spring Boot 到 Spring Cloud -
Linux 錦囊妙計|基礎操作x系統與網路管理, 2/e (Linux Cookbook: Essential Skills for Linux Users and System & Network Administrators, 2/e)$780$616 -
軟體架構:困難部分 (Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures)$780$616 -
Kotlin Collection 全方位解析攻略 : 精通原理及實戰,寫出流暢好維護的程式(iT邦幫忙鐵人賽系列書)$680$530 -
OCP:Java SE 11 Developer 認證指南 (上) -- 物件導向設計篇$690$538 -
OCP:Java SE 11 Developer 認證指南 (下) -- API 剖析運用篇$820$640 -
機器學習模擬應用|將合成資料運用於AI (Practical Simulations for Machine Learning)$680$537 -
Kubernetes 建置與執行 : 邁向基礎設施的未來, 3/e (Kubernetes: Up and Running: Dive Into the Future of Infrastructure, 3/e)$580$458 -
JUnit 實戰, 3/e$839$797
商品描述
Node.js是一個基於Chrome V8引擎的JavaScript運行時環境,
使用了高效、輕量級的事件驅動、非阻塞 I/O 模型,讓JavaScript 運行在服務端的開發平臺。
本書主要介紹基於Node.js構建企業級後端服務,內容涉及Node.js和JavaScript的特性介紹、通信協議、擴展、
可觀測性、Docker容器、部署、容器編排、應用程序容錯、分佈式單元、應用程序安全性等內容。
本書不是面向 Node.js新手的,適用於擁有Node.js 實戰經驗且熟練掌握JavaScript的開發人員。
讀完本書,你會瞭解在生產環境中運行 Node.js 服務所需的許多技術。
目錄大綱
第1章 為什麼要用分佈式9
1.1 JavaScript的單線程特性9
1.2 Node.js 速覽13
1.3 Node.js的事件循環16
1.4 示例應用程序21
第2章 協議26
2.1 使用HTTP請求和響應27
2.2 使用GraphQL構建API外觀39
2.3 使用gRPC進行RPC通信46
第3章 擴展54
3.1 集群模塊54
3.2 使用HAProxy實現反向代理61
3.3 SLA和負載測試72
第4章 可觀測性85
4.1 運行環境85
4.2 ELK與日誌87
4.3 Graphite、StatsD和Grafana度量指標94
4.4 使用Zipkin進行分佈式請求跟蹤102
4.5 運行狀況檢查110
4.6 使用 Cabot 進行報警113
第5章 容器119
5.1 Docker簡介121
5.2 容器化Node.js服務127
5.3 使用 Docker Compose進行基本編排135
5.4 內部Docker 註冊表140
第6章 部署145
6.1 使用 Travis CI 構建流水線146
6.2 自動化測試151
6.3 部署Heroku162
6.4 模塊、包和SemVer168
6.5 內部npm註冊表179
第7章 容器編排184
7.1 Kubernetes 簡介185
7.2 啟動188
7.3 部署應用程序192
7.4 服務發現199
7.5 修改部署204
第8章 彈性210
8.1 Node.js 進程的終止210
8.2 構建無狀態服務218
8.3 使用Memcached構建外部緩存224
8.4 數據庫連接的彈性229
8.5 使用Knex進行Schema 遷移238
8.6 冪等性和消息傳遞彈性248
8.7 彈性測試255
第9章 分佈式基元259
9.1 ID 生成問題259
9.2 Redis 簡介262
9.3 Redis 操作263
9.4 尋求原子性272
9.5 事務274
9.6 Lua腳本276
第10章 安全性281
10.1 繁雜的代碼庫281
10.2 認識攻擊面283
10.3 應用程序配置287
10.4 升級依賴項292
10.5 升級Node.js298
附錄A 安裝HAProxy303
附錄B 安裝Docker305
附錄 C 安裝Minikube和Kubectl307
