Node.js 實戰:分佈式系統中的後端服務開發 Distributed Systems with Node.Js: Building Enterprise-Ready Backend Services

Thomas Hunter II 郭笑鵬 譯

  • 出版商: 機械工業
  • 出版日期: 2021-11-01
  • 定價: $894
  • 售價: 8.5$760
  • 語言: 簡體中文
  • 頁數: 316
  • 裝訂: 平裝
  • ISBN: 711169449X
  • ISBN-13: 9787111694496
  • 相關分類: Node.js
  • 已絕版

買這商品的人也買了...

商品描述

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