注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)微服務(wù)之道

微服務(wù)之道

微服務(wù)之道

定 價(jià):¥89.80

作 者: [愛爾蘭]理查德·羅杰(Richard Rodger)
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115611277 出版時(shí)間: 2023-04-01 包裝: 平裝
開本: 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書力求揭示微服務(wù)設(shè)計(jì)背后的思想,引導(dǎo)讀者理解和構(gòu)建微服務(wù)。全書分為兩部分。第一部分介紹微服務(wù)的工程原則,從具體的案例研究引入微服務(wù)的概念及優(yōu)缺點(diǎn),闡示了如何決定要構(gòu)建哪些微服務(wù)及服務(wù)間的通信,介紹了消息優(yōu)先的方法,展示了微服務(wù)如何以更恰當(dāng)?shù)姆绞酱鎯?chǔ)和處理不同類型的數(shù)據(jù),探討了如何在生產(chǎn)環(huán)境中運(yùn)行大量微服務(wù)。第二部分介紹如何利用微服務(wù)架構(gòu)的工程優(yōu)勢(shì)來克服環(huán)境帶來的挑戰(zhàn),以及度量微服務(wù)系統(tǒng)的方法,指導(dǎo)讀者一步步地從老的單體系統(tǒng)過渡到能夠輕松適應(yīng)新功能需求的微服務(wù)系統(tǒng),最后使用前面章節(jié)介紹的原則,從頭開始構(gòu)建了一個(gè)完整的微服務(wù)系統(tǒng)。

作者簡介

  理查德·羅杰(Richard Rodger)曾在愛爾蘭都柏林三一學(xué)院學(xué)習(xí)數(shù)學(xué)和哲學(xué),在愛爾蘭沃特福德理工學(xué)院學(xué)習(xí)計(jì)算機(jī)科學(xué)。1986 年開始在 Sinclair ZX Spectrum 上寫代碼至今;Seneca 微服務(wù)框架的維護(hù)者。會(huì)展業(yè)社交網(wǎng)絡(luò)公司voxgig的首席執(zhí)行官,擁有多年為大型跨國公司構(gòu)建微服務(wù)系統(tǒng)的經(jīng)驗(yàn)。曾任移動(dòng)應(yīng)用 SaaS平臺(tái) FeedHenry(后來被 Red Hat 收購)的首席技術(shù)官,后與他人聯(lián)合創(chuàng)立了nearForm—— 關(guān)于 Node.js 和微服務(wù)的咨詢公司。他還著有Mobile Application Development in the Cloud(《移動(dòng)云計(jì)算應(yīng)用開發(fā)入門經(jīng)典》)(Wiley,2011)一書。

圖書目錄

第 一部分 構(gòu)建微服務(wù)
第 1 章 美麗新世界 3
1.1 技術(shù)債務(wù)危機(jī) 3
1.2 案例研究:微博初創(chuàng)公司 5
1.2.1 迭代 0:發(fā)布條目 6
1.2.2 迭代 1:搜索索引 9
1.2.3 迭代 2:簡單組合 11
1.2.4 迭代 3:時(shí)間線 14
1.2.5 迭代 4:擴(kuò)展 16
1.3 單體如何違背組件的承諾 18
1.4 微服務(wù)理念 20
核心技術(shù)原則 21
1.5 實(shí)際意義 24
1.5.1 規(guī)范 25
1.5.2 部署 26
1.5.3 安全 27
1.5.4 人 27
1.6 你的錢換來了什么 28
1.7 總結(jié) 29
第 2 章 服務(wù) 30
2.1 定義微服務(wù) 30
2.2 案例研究:數(shù)字版報(bào)紙 32
2.2.1 業(yè)務(wù)目標(biāo) 32
2.2.2 非正式需求 33
2.2.3 功能分解 33
2.3 微服務(wù)架構(gòu) 34
迷你 Web 服務(wù)器架構(gòu) 34
2.4 微服務(wù)示意圖 35
2.5 微服務(wù)依賴樹 36
異步消息架構(gòu) 39
2.6 單體項(xiàng)目與微服務(wù)項(xiàng)目 41
2.6.1 微服務(wù)如何改變項(xiàng)目管理 43
2.6.2 一致性使評(píng)估更容易 43
2.6.3 一次性代碼讓團(tuán)隊(duì)更和諧 44
2.6.4 同質(zhì)組件允許異構(gòu)配置 44
2.6.5 不同類型的代碼 45
2.7 軟件單元 46
2.8 從需求到消息再到服務(wù) 47
2.9 微服務(wù)架構(gòu)圖 49
繪制消息流圖 52
2.10 微服務(wù)是軟件組件 53
2.10.1 封裝 53
2.10.2 可重復(fù)使用 53
2.10.3 定義明確的接口 54
2.10.4 可組合 54
2.10.5 微服務(wù)組件實(shí)踐 54
2.11 微服務(wù)的內(nèi)部結(jié)構(gòu) 57
2.12 總結(jié) 57
第 3 章 消息 59
3.1 消息是一等公民 59
3.1.1 同步和異步 60
3.1.2 何時(shí)使用同步消息 61 2
3.1.3 何時(shí)使用異步消息 62
3.1.4 從第 一天開始就思考
分布式 63
3.1.5 減少失敗的策略 65
3.2 案例研究:銷售稅規(guī)則 66
更廣泛的背景 66
3.3 模式匹配 67
3.3.1 銷售稅:從簡單開始 68
3.3.2 銷售稅:處理類別 69
3.3.3 銷售稅:走向全球 71
3.3.4 業(yè)務(wù)需求顯然會(huì)發(fā)生變化 72
3.3.5 模式匹配降低了重構(gòu)的成本 72
3.4 傳輸獨(dú)立性 73
一個(gè)有用的虛構(gòu):無所不能的觀察者 73
3.5 消息模式 74
3.5.1 核心模式:一條消息/兩個(gè)服務(wù) 75
3.5.2 核心模式:兩條消息/兩個(gè)服務(wù) 77
3.5.3 核心模式:一條消息/n 個(gè)服務(wù) 79
3.5.4 核心模式:m 條消息/n 個(gè)服務(wù) 81
3.5.5 m/n:鏈 81
3.5.6 m/n:樹 82
3.5.7 擴(kuò)展消息 83
3.6 當(dāng)消息出問題時(shí) 84
3.6.1 常見故障場(chǎng)景及如何應(yīng)對(duì) 85
3.6.2 請(qǐng)求/響應(yīng)交互故障 85
3.6.3 響尾蛇交互的故障 86
3.6.4 贏家通吃交互的故障 86
3.6.5 即發(fā)即棄交互的故障 87
3.7 總結(jié) 88
第 4 章 數(shù)據(jù) 89
4.1 數(shù)據(jù)與想象不同 90
4.1.1 數(shù)據(jù)同質(zhì)而非異質(zhì) 90
4.1.2 數(shù)據(jù)可以私有 91
4.1.3 數(shù)據(jù)可以是本地的 92
4.1.4 數(shù)據(jù)可以自由處置 94
4.1.5 數(shù)據(jù)不一定要準(zhǔn)確 94
4.2 微服務(wù)的數(shù)據(jù)策略 95
4.2.1 使用消息公開數(shù)據(jù) 95
4.2.2 使用組合操作數(shù)據(jù) 96
4.2.3 通過系統(tǒng)配置控制數(shù)據(jù) 99
4.2.4 使用弱約束來分發(fā)數(shù)據(jù) 104
4.3 重新思考傳統(tǒng)數(shù)據(jù)模式 105
4.3.1 主鍵 106
4.3.2 外鍵 107
4.3.3 事務(wù) 108
4.3.4 事務(wù)并不像想象的
那么好 111
4.3.5 模式引起技術(shù)債務(wù) 112
4.4 微服務(wù)數(shù)據(jù)實(shí)用決策指南 113
4.4.1 全新項(xiàng)目 113
4.4.2 改造項(xiàng)目 114
4.5 總結(jié) 115
第 5 章 部署 116
5.1 事物的崩潰 116
5.2 從歷史中吸取教訓(xùn) 117
5.2.1 三英里島 117
5.2.2 軟件系統(tǒng)故障模型 121
5.2.3 冗余并不像想象的那樣 125
5.2.4 更改很可怕 126
5.3 妄想經(jīng)不起反駁 128
完美軟件的成本 129
5.4 混亂的系統(tǒng) 129
5.5 微服務(wù)和冗余 130
5.6 持續(xù)交付 131
5.6.1 管道 132
5.6.2 流程 133
5.6.3 保護(hù) 133
5.7 運(yùn)行微服務(wù)系統(tǒng) 134
5.7.1 不變性 134
5.7.2 自動(dòng)化 137
5.7.3 復(fù)原能力 141
5.7.4 驗(yàn)證 146
5.7.5 發(fā)現(xiàn) 147
5.7.6 配置 148
5.7.7 安全 149
5.7.8 階段系統(tǒng) 150
5.7.9 開發(fā) 150
5.8 總結(jié) 152 目錄
第二部分 運(yùn)行微服務(wù)
第 6 章 測(cè)量 155
6.1 傳統(tǒng)監(jiān)控的局限性 156
6.1.1 經(jīng)典配置 156
6.1.2 平均數(shù)的問題 158
6.1.3 使用百分位數(shù) 159
6.1.4 微服務(wù)配置 162
6.1.5 散點(diǎn)圖的威力 162
6.1.6 構(gòu)建儀表板 164
6.2 微服務(wù)的測(cè)量 164
6.2.1 業(yè)務(wù)層 165
6.2.2 消息層 165
6.2.3 服務(wù)層 172
6.3 不變量的威力 175
6.3.1 從業(yè)務(wù)邏輯中尋找不變量 176
6.3.2 從系統(tǒng)架構(gòu)中尋找不變量 177
6.3.3 可視化不變量 179
6.3.4 理解系統(tǒng) 179
6.3.5 合成驗(yàn)證 181
6.4 總結(jié) 182
第 7 章 遷移 183
7.1 經(jīng)典電子商務(wù)示例 183
7.1.1 舊架構(gòu) 184
7.1.2 軟件交付過程 185
7.2 更改目標(biāo) 186
在實(shí)踐中應(yīng)用政治 188
7.3 開始旅程 189
7.4 扼殺者策略 190
7.4.1 部分代理 191
7.4.2 當(dāng)不能遷移時(shí)該怎么辦 192
7.4.3 新項(xiàng)目的策略 193
7.4.4 宏服務(wù)策略 195
7.5 優(yōu)化策略 197
7.6 從一般到具體 197
7.6.1 向產(chǎn)品頁面添加功能 197
7.6.2 向購物車添加功能 200
7.6.3 處理橫向問題 202
7.7 總結(jié) 202
第 8 章 人 204
8.1 應(yīng)對(duì)公司政治 204
8.1.1 接受硬性限制 205
8.1.2 尋找支持者 205
8.1.3 保持溝通合作 207
8.1.4 以價(jià)值為中心的交付 207
8.1.5 可接受的錯(cuò)誤率 208
8.1.6 刪減功能 208
8.1.7 停止抽象 209
8.1.8 反灌輸 209
8.1.9 外部認(rèn)可 210
8.1.10 團(tuán)隊(duì)協(xié)作 210
8.1.11 尊重公司 211
8.2 微服務(wù)的政治 211
8.2.1 誰擁有什么 211
8.2.2 誰在待命 213
8.2.3 誰決定代碼內(nèi)容 214
8.3 總結(jié) 218
第 9 章 案例研究:Nodezoo.com 219
9.1 設(shè)計(jì) 220
9.1.1 業(yè)務(wù)需求是什么 220
9.1.2 消息是什么 221
9.1.3 有哪些服務(wù) 226
9.2 交付 231
9.2.1 迭代 1:本地開發(fā) 232
9.2.2 迭代 2:測(cè)試、階段系統(tǒng)和風(fēng)險(xiǎn)測(cè)量 243
9.2.3 迭代 3:生產(chǎn)路徑 248
9.2.4 迭代 4:增強(qiáng)和適應(yīng) 253
9.2.5 迭代 5:監(jiān)控和調(diào)試 258
9.2.6 迭代 6:擴(kuò)展和性能 262
9.3 結(jié)語 264

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)