注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)信息系統(tǒng)Dapr與.NET微服務(wù)實(shí)戰(zhàn)

Dapr與.NET微服務(wù)實(shí)戰(zhàn)

Dapr與.NET微服務(wù)實(shí)戰(zhàn)

定 價(jià):¥79.80

作 者: [意] 達(dá)維德·貝?。―avide Bedin)
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115611857 出版時(shí)間: 2023-05-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書通過開發(fā)微服務(wù)示例程序來講解Dapr的各項(xiàng)功能,并介紹其眾多構(gòu)建塊的功能及使用方法。本書首先介紹了Dapr的基礎(chǔ)知識(shí)以及相關(guān)環(huán)境的配置工作,以幫助讀者快速進(jìn)入Dapr的世界。其次,介紹了Dapr的核心概念、發(fā)布 訂閱機(jī)制、資源綁定構(gòu)建塊與虛擬actor模型等相關(guān)知識(shí),讓讀者進(jìn)一步了解Dapr的相關(guān)功能。最后,介紹了Dapr的實(shí)際運(yùn)用,包括Dapr應(yīng)用的部署與可觀測(cè)性,以及在Kubernetes環(huán)境中對(duì)服務(wù)和actor等進(jìn)行伸縮操作。本書可以幫助讀者快速熟悉微服務(wù)架構(gòu),并運(yùn)用Dapr來管理應(yīng)用的復(fù)雜性和克服異構(gòu)系統(tǒng)等問題。本書適合希望探索微服務(wù)架構(gòu)并在Dapr應(yīng)用中通過Microsoft .NET Core來實(shí)現(xiàn)這些架構(gòu)的開發(fā)人員閱讀。

作者簡(jiǎn)介

  Davide Bedin是云原生架構(gòu)專家,他在云計(jì)算領(lǐng)域擁有豐富的經(jīng)驗(yàn)。作為獨(dú)立軟件開發(fā)商的首席技術(shù)官,Davide帶領(lǐng)企業(yè)進(jìn)行數(shù)字化轉(zhuǎn)型,探索出基于Microsoft Azure云服務(wù)的新解決方案。Davide尤其關(guān)注分布式計(jì)算向面向服務(wù)的架構(gòu)及微服務(wù)架構(gòu)的發(fā)展和演進(jìn)過程。他大部分的開發(fā)生涯都投入網(wǎng)絡(luò)服務(wù)相關(guān)的研發(fā)工作中。

圖書目錄

第 一部分 Dapr基礎(chǔ)
第 1章 Dapr簡(jiǎn)介 3
1.1 技術(shù)要求 3
1.2 Dapr概述 4
1.3 Dapr架構(gòu) 7
1.4 設(shè)置Dapr啟動(dòng)環(huán)境 9
1.4.1 Docker 9
1.4.2 Dapr CLI 10
1.4.3 .NET 10
1.4.4 VS Code 11
1.4.5 Windows終端 11
1.4.6 在自托管模式下安裝Dapr 11
1.4.7 在Kubernetes上安裝Dapr 12
1.4.8 升級(jí)Dapr版本 13
1.5 開發(fā)第 一個(gè)Dapr示例程序 14
1.6 小結(jié) 19
第 2章 調(diào)試Dapr解決方案 21
2.1 技術(shù)要求 21
2.2 在VS Code中配置和調(diào)試Dapr 22
2.2.1 連接調(diào)試器 22
2.2.2 檢驗(yàn)調(diào)試配置 24
2.3 調(diào)試一個(gè)多項(xiàng)目的Dapr解決方案 29
2.3.1 創(chuàng)建.NET解決方案 29
2.3.2 啟動(dòng)配置 30
2.3.3 任務(wù) 32
2.3.4 啟動(dòng)獨(dú)立的調(diào)試會(huì)話 33
2.3.5 啟動(dòng)組合的調(diào)試會(huì)話 34
2.4 結(jié)合Tye使用Dapr 35
2.4.1 安裝Tye 36
2.4.2 使用Tye 36
2.5 小結(jié) 40
第二部分 使用Dapr構(gòu)建微服務(wù)
第3章 服務(wù)間調(diào)用 43
3.1 技術(shù)要求 43
3.2 服務(wù)如何在Dapr中工作 44
3.2.1 示例程序架構(gòu) 45
3.2.2 服務(wù)間調(diào)用 45
3.2.3 名稱解析 47
3.3 使用.NET SDK進(jìn)行服務(wù)調(diào)用 47
3.3.1 為order service創(chuàng)建一個(gè)項(xiàng)目 48
3.3.2 在ASP.NET中配置Dapr 48
3.3.3 通過ASP.NET控制器實(shí)現(xiàn)Dapr 49
3.3.4 為reservation service創(chuàng)建一個(gè)項(xiàng)目 50
3.3.5 準(zhǔn)備調(diào)試配置 51
3.3.6 通過ASP.NET路由實(shí)現(xiàn)Dapr 51
3.3.7 回顧 56
3.4 Dapr服務(wù)的HTTP和gRPC調(diào)用 56
3.4.1 在ASP.NET中使用gRPC 56
3.4.2 微服務(wù)的自治 57
3.4.3 通過gRPC降低延遲 65
3.5 小結(jié) 66
第4章 狀態(tài)管理 67
4.1 技術(shù)要求 67
4.2 Dapr狀態(tài)管理 68
4.2.1 服務(wù)的狀態(tài)——無狀態(tài)和有狀態(tài) 68
4.2.2 Dapr中的狀態(tài)存儲(chǔ) 69
4.2.3 事務(wù) 70
4.2.4 并發(fā)性 70
4.2.5 一致性 71
4.2.6 與狀態(tài)存儲(chǔ)的交互 71
4.3 電子商務(wù)網(wǎng)站的有狀態(tài)服務(wù) 73
4.3.1 有狀態(tài)的reservation-service 74
4.3.2 在ASP.NET控制器中處理Dapr狀態(tài) 75
4.4 基于Azure Cosmos DB的狀態(tài)存儲(chǔ) 78
4.4.1 創(chuàng)建Azure Cosmos DB 79
4.4.2 配置狀態(tài)存儲(chǔ) 80
4.4.3 測(cè)試狀態(tài)存儲(chǔ) 82
4.4.4 Azure Cosmos DB分片 84
4.4.5 補(bǔ)充 86
4.5 小結(jié) 87
第5章 發(fā)布 訂閱 89
5.1 技術(shù)要求 89
5.2 在Dapr中使用pub sub設(shè)計(jì)模式 90
5.3 在Dapr中使用Azure Service Bus 92
5.3.1 訂閱主題 94
5.3.2 配置發(fā)布 訂閱組件 96
5.3.3 發(fā)布到主題 98
5.3.4 檢查消息 99
5.4 實(shí)現(xiàn)saga設(shè)計(jì)模式 101
5.4.1 向Dapr發(fā)布消息 103
5.4.2 訂閱Dapr主題 104
5.4.3 測(cè)試saga設(shè)計(jì)模式 105
5.5 小結(jié) 107
第6章 資源綁定 109
6.1 技術(shù)要求 109
6.2 學(xué)習(xí)如何使用Dapr綁定 110
6.2.1 配置cron輸入綁定 111
6.2.2 測(cè)試cron綁定 112
6.3 在Dapr中使用Twilio輸出綁定 113
6.3.1 注冊(cè)Twilio試用賬戶 114
6.3.2 配置Twilio輸出綁定 115
6.3.3 通過輸出綁定發(fā)送信號(hào) 115
6.3.4 驗(yàn)證通知 117
6.4 在C#中通過Azure Event Hubs輸入綁定攝取數(shù)據(jù) 119
6.4.1 創(chuàng)建Azure Event Hubs綁定 120
6.4.2 配置輸入綁定 121
6.4.3 實(shí)現(xiàn)Azure Event Hubs輸入綁定 122
6.4.4 產(chǎn)生事件 124
6.5 小結(jié) 125
第7章 actor的用法 127
7.1 技術(shù)要求 127
7.2 在Dapr中使用actor 128
7.2.1 actor模型簡(jiǎn)介 128
7.2.2 配置Dapr actor狀態(tài)存儲(chǔ) 132
7.2.3 驗(yàn)證狀態(tài)存儲(chǔ) 133
7.3 actor的生命周期、并發(fā)性和一致性 134
7.3.1 placement服務(wù) 134
7.3.2 并發(fā)性和一致性 135
7.3.3 actor的生命周期 137
7.4 在電子商務(wù)網(wǎng)站預(yù)訂系統(tǒng)中使用actor 138
7.4.1 創(chuàng)建actor項(xiàng)目 139
7.4.2 實(shí)現(xiàn)actor模型 140
7.4.3 在其他Dapr應(yīng)用中訪問actor 143
7.4.4 查看actor的狀態(tài) 146
7.5 小結(jié) 147
第三部分 部署和伸縮
第8章 在Kubernetes中部署Dapr應(yīng)用 151
8.1 技術(shù)要求 151
8.2 創(chuàng)建Kubernetes 152
8.2.1 創(chuàng)建Azure資源組 153
8.2.2 創(chuàng)建AKS集群 153
8.2.3 連接AKS集群 154
8.3 在Kubernetes中安裝Dapr 155
8.4 部署Dapr應(yīng)用 158
8.4.1 構(gòu)建容器鏡像 159
8.4.2 推送容器鏡像 162
8.4.3 在Kubernetes中管理密碼 164
8.4.4 Dapr應(yīng)用部署 166
8.5 將Dapr應(yīng)用暴露給外部客戶端 170
8.6 小結(jié) 177
第9章 追蹤Dapr應(yīng)用 179
9.1 技術(shù)要求 179
9.2 觀測(cè)Dapr中的應(yīng)用 180
9.3 使用Zipkin進(jìn)行追蹤 182
9.3.1 設(shè)置Zipkin 182
9.3.2 配置Zipkin進(jìn)行追蹤 184
9.3.3 在Dapr中啟用追蹤 185
9.3.4 使用Zipkin追蹤 187
9.4 使用Prometheus和Grafana分析指標(biāo) 191
9.4.1 安裝Prometheus 192
9.4.2 安裝Grafana 193
9.4.3 導(dǎo)入Dashboard模板 193
9.5 小結(jié) 196
第 10章 負(fù)載測(cè)試和伸縮 197
10.1 技術(shù)要求 197
10.1.1 Bash 198
10.1.2 Python 198
10.1.3 Locust 199
10.1.4 Kubernetes配置 199
10.2 在Kubernetes中伸縮Dapr應(yīng)用 200
10.2.1 副本 201
10.2.2 自動(dòng)伸縮 202
10.2.3 資源請(qǐng)求和資源限制 204
10.3 使用Locust進(jìn)行負(fù)載測(cè)試 207
10.4 Dapr應(yīng)用的負(fù)載測(cè)試 209
10.4.1 通過端口轉(zhuǎn)發(fā)準(zhǔn)備數(shù)據(jù) 209
10.4.2 在本地測(cè)試Locust 210
10.4.3 在ACI中運(yùn)行Locust 213
10.4.4 配置HPA 215
10.5 使用KEDA進(jìn)行自動(dòng)伸縮 217
10.6 小結(jié) 217
附錄A 使用Dapr的微服務(wù)架構(gòu) 219
A.1 發(fā)現(xiàn)微服務(wù) 219
A.1.1 服務(wù) 220
A.1.2 自治 221
A.1.3 自動(dòng)化部署 221
A.1.4 有界上下文 222
A.1.5 松耦合 222
A.1.6 事件驅(qū)動(dòng)架構(gòu) 223
A.1.7 可觀察性 223
A.1.8 可持續(xù)性 223
A.2 采用微服務(wù)模式 224
A.3 構(gòu)建一個(gè)電子商務(wù)網(wǎng)站架構(gòu) 226
A.3.1 定義有界上下文 226
A.3.2 示例:銷售微服務(wù) 227
A.4 使用Dapr構(gòu)建微服務(wù) 228
A.4.1 松耦合的微服務(wù) 228
A.4.2 自治的微服務(wù) 229
A.4.3 可觀察的微服務(wù) 229
A.4.4 可擴(kuò)展的微服務(wù) 229
A.4.5 事件驅(qū)動(dòng)的微服務(wù) 229
A.4.6 無狀態(tài)的微服務(wù) 230
A.5 小結(jié) 230

本目錄推薦

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