Node.js實(shí)戰(zhàn):分布式系統(tǒng)中的后端服務(wù)開(kāi)發(fā)
郭笑鵬 譯
出版時(shí)間:2021年12月
頁(yè)數(shù):316
從初創(chuàng)公司到世界500強(qiáng),大多數(shù)公司都喜歡使用Node.js來(lái)構(gòu)建高性能的后端服務(wù)。工程師對(duì)Node.js有很高的評(píng)價(jià),因?yàn)樗腥菀桌斫獾腁PI和大家熟悉的語(yǔ)法。在全球最大的包存儲(chǔ)庫(kù)的強(qiáng)力支持下,Node.js的生態(tài)必將更加繁榮。
在本書(shū)中,作者證明了Node.js在構(gòu)建可觀察、可擴(kuò)展且有彈性的服務(wù)方面與傳統(tǒng)的企業(yè)平臺(tái)一樣適用。中高級(jí)Node.js開(kāi)發(fā)人員會(huì)發(fā)現(xiàn),他們可以將應(yīng)用程序代碼和現(xiàn)代服務(wù)棧的各個(gè)層面結(jié)合起來(lái)。
通過(guò)學(xué)習(xí)本書(shū),你可以:
● 了解為什么要運(yùn)行多個(gè)相同的Node.js服務(wù)副本。
● 根據(jù)業(yè)務(wù)場(chǎng)景選擇恰當(dāng)?shù)膮f(xié)議。
● 調(diào)整應(yīng)用程序容器以便在生產(chǎn)環(huán)境中運(yùn)行。
● 跟蹤分布式系統(tǒng)中的錯(cuò)誤,以確定哪個(gè)服務(wù)出錯(cuò)。
● 通過(guò)將工作轉(zhuǎn)移給反向代理來(lái)簡(jiǎn)化應(yīng)用程序代碼并提高性能。
● 構(gòu)建數(shù)據(jù)面板來(lái)監(jiān)視服務(wù)運(yùn)行狀況和數(shù)據(jù)吞吐量。
● 了解在企業(yè)環(huán)境中操作時(shí)需要使用多種工具的原因。
- 前言
- 第1章 為什么要用分布式
- 1.1 JavaScript的單線(xiàn)程特性
- 1.2 Node.js速覽
- 1.3 Node.js的事件循環(huán)
- 1.4 示例應(yīng)用程序
- 第2章 協(xié)議
- 2.1 使用HTTP請(qǐng)求和響應(yīng)
- 2.2 使用GraphQL構(gòu)建API外觀
- 2.3 使用gRPC進(jìn)行RPC通信
- 第3章 擴(kuò)展
- 3.1 集群模塊
- 3.2 使用HAProxy實(shí)現(xiàn)反向代理
- 3.3 SLA和負(fù)載測(cè)試
- 第4章 可觀測(cè)性
- 4.1 運(yùn)行環(huán)境
- 4.2 ELK與日志
- 4.3 Graphite、StatsD和Grafana度量指標(biāo)
- 4.4 使用Zipkin進(jìn)行分布式請(qǐng)求跟蹤
- 4.5 運(yùn)行狀況檢查
- 4.6 使用Cabot進(jìn)行報(bào)警
- 第5章 容器
- 5.1 Docker簡(jiǎn)介
- 5.2 容器化Node.js服務(wù)
- 5.3 使用Docker Compose進(jìn)行基本編排
- 5.4 內(nèi)部Docker注冊(cè)表
- 第6章 部署
- 6.1 使用Travis CI構(gòu)建流水線(xiàn)
- 6.2 自動(dòng)化測(cè)試
- 6.3 部署Heroku
- 6.4 模塊、包和SemVer
- 6.5 內(nèi)部npm注冊(cè)表
- 第7章 容器編排
- 7.1 Kubernetes簡(jiǎn)介
- 7.2 啟動(dòng)
- 7.3 部署應(yīng)用程序
- 7.4 服務(wù)發(fā)現(xiàn)
- 7.5 修改部署
- 第8章 彈性
- 8.1 Node.js進(jìn)程的終止
- 8.2 構(gòu)建無(wú)狀態(tài)服務(wù)
- 8.3 使用Memcached構(gòu)建外部緩存
- 8.4 數(shù)據(jù)庫(kù)連接的彈性
- 8.5 使用Knex進(jìn)行Schema遷移
- 8.6 冪等性和消息傳遞彈性
- 8.7 彈性測(cè)試
- 第9章 分布式基元
- 9.1 ID生成問(wèn)題
- 9.2 Redis簡(jiǎn)介
- 9.3 Redis操作
- 9.4 尋求原子性
- 9.5 事務(wù)
- 9.6 Lua腳本
- 第10章 安全性
- 10.1 繁雜的代碼庫(kù)
- 10.2 認(rèn)識(shí)攻擊面
- 10.3 應(yīng)用程序配置
- 10.4 升級(jí)依賴(lài)項(xiàng)
- 10.5 升級(jí)Node.js
- 附錄A 安裝HAProxy
- 附錄B 安裝Docker
- 附錄C 安裝Minikube和Kubectl
書(shū)名:Node.js實(shí)戰(zhàn):分布式系統(tǒng)中的后端服務(wù)開(kāi)發(fā)
譯者:郭笑鵬 譯
國(guó)內(nèi)出版社:機(jī)械工業(yè)出版社
出版時(shí)間:2021年12月
頁(yè)數(shù):316
書(shū)號(hào):978-7-111-69449-6
原版書(shū)書(shū)名:Distributed Systems with Node.js
原版書(shū)出版商:O'Reilly Media
Thomas Hunter II
Thomas Hunter II已讓Node.js在數(shù)十個(gè)企業(yè)中大放光彩,他現(xiàn)在在為一家致力于讓Node.js更加安全的公司工作。他曾在數(shù)個(gè)關(guān)于Node.js和JavaScript的會(huì)議上發(fā)表講話(huà),并獲得了JSNSD/JSNAD認(rèn)證,同時(shí)他還是NodeSchool SF的組織者之一。