Go語言微服務(wù)開發(fā)實踐 版權(quán)信息
- ISBN:9787302669067
- 條形碼:9787302669067 ; 978-7-302-66906-7
- 裝幀:80g膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
Go語言微服務(wù)開發(fā)實踐 本書特色
《Go語言微服務(wù)開發(fā)實踐》的特色如下:1. 全面涵蓋微服務(wù)生態(tài)系統(tǒng):本書以微服務(wù)的基礎(chǔ)知識為起點,逐步深入地介紹了構(gòu)建微服務(wù)所必需的各種關(guān)鍵概念和技術(shù),包括服務(wù)注冊與發(fā)現(xiàn)、分布式配置中心、日志記錄與監(jiān)控、容器化與部署、消息傳遞與異步通信、RPC(遠(yuǎn)程過程調(diào)用)、RESTful API設(shè)計等。通過學(xué)習(xí)本書,讀者可以獲得一個全面的微服務(wù)知識體系。2. 深入講解Go語言應(yīng)用:作為一本以Go語言為主要開發(fā)語言的書籍,本書對Go語言的應(yīng)用進行了深入解析,從Go語言的基礎(chǔ)知識到具體的開發(fā)實踐,都有詳細(xì)的講解和示例,讓讀者能夠 好地理解和運用這門語言。3. 結(jié)合實踐經(jīng)驗分享解決方案:作者結(jié)合豐富的實際項目經(jīng)驗,分享了在微服務(wù)開發(fā)過程中遇到的問題和解決方案,讓讀者能夠從實際應(yīng)用的角度獲得寶貴的經(jīng)驗,避免一些常見的陷阱。4 涵蓋DevOps與持續(xù)交付:本書不僅講解微服務(wù)的設(shè)計和實現(xiàn),還專門介紹了DevOps和持續(xù)交付的內(nèi)容,幫助讀者了解如何將微服務(wù)集成到現(xiàn)代軟件交付流程中,以實現(xiàn)高效的部署和持續(xù)改進。5. 強調(diào)解決實際問題:本書的重點是如何解決實際問題,每個章節(jié)都圍繞實際應(yīng)用場景展開討論,幫助讀者 好地理解如何將技術(shù)應(yīng)用于解決現(xiàn)實世界的挑戰(zhàn)。6. 提供豐富的學(xué)習(xí)資源:本書還為讀者提供了豐富的 學(xué)習(xí)資源,不僅有全書案例源代碼、PPT課件,還精心錄制了講解視頻,讀者可以掃描書中提供的二維碼獲取。
Go語言微服務(wù)開發(fā)實踐 內(nèi)容簡介
本書循序漸進、由淺入深地講解了Go語言微服務(wù)開發(fā)的核心知識,并通過具體實例的實現(xiàn)過程演練了開發(fā)Go語言微服務(wù)程序的方法和流程。全書共分15章,分別講解了微服務(wù)架構(gòu)概述,服務(wù)注冊與發(fā)現(xiàn),分布式配置中心,日志記錄與監(jiān)控,容器化與部署,消息傳遞與異步通信,遠(yuǎn)程過程調(diào)用,構(gòu)建RESTful API,統(tǒng)一認(rèn)證與授權(quán),數(shù)據(jù)庫訪問與ORM,事件驅(qū)動架構(gòu),容錯處理與負(fù)載均衡,服務(wù)網(wǎng)關(guān)與API管理,DevOps 與持續(xù)交付及高并發(fā)在線聊天室系統(tǒng)。本書內(nèi)容簡潔、全面,且不失其技術(shù)深度,書中以簡練的文字介紹了復(fù)雜的案例,方便讀者學(xué)習(xí)使用。
本書適用于已經(jīng)了解了Go語言基礎(chǔ)語法,并想進一步學(xué)Go Web開發(fā)、Go語言微服務(wù)開發(fā)、Go語言項目架構(gòu)的讀者,還可以作為高等院校相關(guān)專業(yè)的師生用書和培訓(xùn)機構(gòu)的培訓(xùn)教材。
Go語言微服務(wù)開發(fā)實踐 目錄
目錄
第1章 微服務(wù)架構(gòu)概述1
1.1 微服務(wù)基礎(chǔ)2
1.1.1 發(fā)展背景2
1.1.2 微服務(wù)架構(gòu)與傳統(tǒng)架構(gòu)的區(qū)別3
1.1.3 微服務(wù)架構(gòu)的優(yōu)勢4
1.1.4 云計算5
1.1.5 云原生6
1.2 微服務(wù)的設(shè)計原則7
1.3 常用微服務(wù)開發(fā)語言8
1.3.1 Java微服務(wù)和Spring Cloud8
1.3.2 Go語言9
1.3.3 Python語言10
第2章 服務(wù)注冊與發(fā)現(xiàn)13
2.1 服務(wù)注冊與發(fā)現(xiàn)的基本概念14
2.1.1 服務(wù)注冊與發(fā)現(xiàn)的基本原理14
2.1.2 常見的服務(wù)發(fā)現(xiàn)模式15
2.2 服務(wù)注冊與發(fā)現(xiàn)工具16
2.2.1 基于DNS的服務(wù)發(fā)現(xiàn)工具16
2.2.2 專用的服務(wù)注冊與發(fā)現(xiàn)工具17
2.3 實現(xiàn)微服務(wù)架構(gòu)中的服務(wù)注冊與發(fā)現(xiàn)18
2.3.1 使用服務(wù)注冊與發(fā)現(xiàn)庫18
2.3.2 與容器編排工具的集成22
2.3.3 ZooKeeper客戶端庫25
第3章 分布式配置中心27
3.1 配置管理的問題和挑戰(zhàn)28
3.2 分布式配置中心的基本概念29
3.2.1 配置中心的基本架構(gòu)29
3.2.2 配置的存儲方式和獲取方式30
3.3 常見的分布式配置中心工具31
3.3.1 ZooKeeper31
3.3.2 Consul32
3.3.3 Etcd33
3.4 在微服務(wù)架構(gòu)中使用分布式配置中心34
3.4.1 配置中心的集成方式34
3.4.2 動態(tài)刷新配置實戰(zhàn)36
3.4.3 配置熱 新實戰(zhàn)39
第4章 日志記錄與監(jiān)控41
4.1 日志記錄的基本概念42
4.1.1 日志級別和日志格式42
4.1.2 日志記錄框架和庫43
4.1.3 日志聚合和分析工具44
4.2 監(jiān)控的基本概念44
4.2.1 健康檢查和指標(biāo)收集45
4.2.2 實時監(jiān)控和告警46
4.2.3 分布式跟蹤和性能監(jiān)控47
4.2.4 常用的監(jiān)控工具47
4.3 在微服務(wù)架構(gòu)中實現(xiàn)日志記錄和監(jiān)控實踐48
4.3.1 集中式日志記錄實戰(zhàn)48
4.3.2 分布式追蹤實戰(zhàn)53
4.3.3 監(jiān)控指標(biāo)的收集和展示實戰(zhàn)62
第5章 容器化與部署67
5.1 容器化的概念和優(yōu)勢68
5.1.1 容器化的原理68
5.1.2 容器化的優(yōu)勢68
5.2 常用的容器化技術(shù)69
5.2.1 Docker69
5.2.2 Kubernetes70
5.2.3 Apache Mesos71
5.2.4 ECS72
5.3 構(gòu)建容器鏡像73
5.3.1 Dockerfile的使用和 實踐73
5.3.2 鏡像倉庫和版本管理76
5.4 容器編排與部署77
5.4.1 常用的容器編排與部署工具78
5.4.2 使用YAML進行配置與部署78
5.5 容器監(jiān)控和調(diào)度80
5.5.1 容器監(jiān)控指標(biāo)的收集和展示81
5.5.2 水平擴展和自動調(diào)度82
5.5.3 容器網(wǎng)絡(luò)和服務(wù)發(fā)現(xiàn)83
第6章 消息傳遞與異步通信91
6.1 消息傳遞的基本概念92
6.2 消息傳遞的編解碼和協(xié)議93
6.3 異步通信的基本概念94
6.4 常用的消息傳遞中間件95
6.4.1 Apache Kafka95
6.4.2 RabbitMQ96
6.4.3 Apache ActiveMQ96
6.4.4 NATS97
6.5 異步通信模式98
6.5.1 異步通信模式的常見形式98
6.5.2 發(fā)布/訂閱模式99
6.5.3 請求/響應(yīng)模式99
6.6 微服務(wù)消息傳遞和異步通信實戰(zhàn)100
6.6.1 系統(tǒng)配置100
6.6.2 消息處理102
6.6.3 入口文件106
第7章 遠(yuǎn)程過程調(diào)用113
7.1 遠(yuǎn)程過程調(diào)用的概念和原理114
7.1.1 遠(yuǎn)程過程調(diào)用的基本工作流程114
7.1.2 遠(yuǎn)程對象和遠(yuǎn)程方法調(diào)用114
7.1.3 常見的RPC框架和協(xié)議115
7.2 RPC的序列化和傳輸116
7.2.1 序列化和反序列化的概念116
7.2.2 常用的序列化協(xié)議117
7.3 在微服務(wù)架構(gòu)中使用RPC117
7.3.1 Go語言原生RPC實戰(zhàn)118
7.3.2 gRPC高性能遠(yuǎn)程過程調(diào)用實戰(zhàn)120
7.3.3 使用Go-kit實現(xiàn) RPC實戰(zhàn)126
第8章 構(gòu)建RESTful API131
8.1 RESTful API介紹132
8.1.1 REST的基本概念132
8.1.2 RESTful架構(gòu)的優(yōu)點和約束133
8.2 設(shè)計RESTful API134
8.2.1 資源的定義和命名134
8.2.2 HTTP方法和狀態(tài)碼的使用135
8.2.3 請求和響應(yīng)的數(shù)據(jù)格式136
8.3 數(shù)據(jù)驗證和輸入校驗138
8.4 RESTful API的版本控制140
8.4.1 版本控制的需求和策略140
8.4.2 URI和請求頭的版本控制141
8.4.3 URL重寫和命名空間142
8.5 RESTful API實戰(zhàn):云原生圖書管理系統(tǒng)143
8.5.1 系統(tǒng)配置143
8.5.2 數(shù)據(jù)庫遷移145
8.5.3 實現(xiàn)RESTful API147
8.5.4 驗證處理150
8.5.5 總結(jié)152
第9章 統(tǒng)一認(rèn)證與授權(quán)155
9.1 認(rèn)證與授權(quán)的基本概念156
9.1.1 認(rèn)證的定義和作用156
9.1.2 授權(quán)的定義和作用156
9.1.3 認(rèn)證與授權(quán)的關(guān)系和流程157
9.1.4 常見的身份認(rèn)證協(xié)議與技術(shù)157
9.2 統(tǒng)一認(rèn)證的架構(gòu)與實現(xiàn)159
9.2.1 單點登錄159
9.2.2 統(tǒng)一認(rèn)證的架構(gòu)和組件160
9.2.3 用戶身份管理和存儲160
9.3 授權(quán)與權(quán)限管理162
9.3.1 授權(quán)模型162
9.3.2 授權(quán)策略162
9.4 在微服務(wù)架構(gòu)中使用統(tǒng)一認(rèn)證與授權(quán)163
9.4.1 微服務(wù)單點登錄實戰(zhàn)163
9.4.2 微服務(wù)OAuth 2.0認(rèn)證實戰(zhàn)173
0章 數(shù)據(jù)庫訪問與ORM179
10.1 數(shù)據(jù)訪問層180
10.1.1 數(shù)據(jù)訪問層的職責(zé)和重要性180
10.1.2 數(shù)據(jù)訪問層的設(shè)計原則181
10.2 ORM基礎(chǔ)182
10.2.1 關(guān)系映射182
10.2.2 ORM的定義和作用182
10.3 常見的Go語言O(shè)RM框架183
10.3.1 GORM183
10.3.2 XORM187
10.3.3 SQLBoiler191
10.3.4 Gorp196
1章 事件驅(qū)動架構(gòu)201
11.1 事件驅(qū)動架構(gòu)的基本概念202
11.1.1 事件驅(qū)動架構(gòu)的定義和特點202
11.1.2 事件與事件流203
11.2 事件發(fā)布與訂閱模式204
11.2.1 發(fā)布者—訂閱者模式204
11.2.2 事件通道和消息代理205
11.2.3 基于主題的訂閱和過濾205
11.3 事件溯源和CQRS模式206
11.3.1 事件溯源的概念206
11.3.2 事件存儲和事件日志207
11.3.3 命令查詢職責(zé)分離208
11.4 事件驅(qū)動的微服務(wù)架構(gòu)209
11.4.1 事件驅(qū)動與微服務(wù)的關(guān)系209
11.4.2 事件驅(qū)動架構(gòu)的組件和通信模式210
11.5 Go語言微服務(wù)事件驅(qū)動架構(gòu)實戰(zhàn)211
11.5.1 項目介紹211
11.5.2 技術(shù)棧213
11.5.3 具體實現(xiàn)213
11.5.4 總結(jié)222
2章 容錯處理與負(fù)載均衡223
12.1 容錯處理的基本概念224
12.1.1 微服務(wù)的容錯處理策略和技術(shù)224
12.1.2 常用的容錯處理工具225
12.2 微服務(wù)的負(fù)載均衡230
12.2.1 負(fù)載均衡的作用231
12.2.2 負(fù)載均衡原理和算法231
12.2.3 常用的負(fù)載均衡器和工具232
12.3 服務(wù)注冊與服務(wù)發(fā)現(xiàn)238
12.3.1 服務(wù)注冊的概念和流程238
12.3.2 服務(wù)發(fā)現(xiàn)的原理和機制239
12.3.3 常用的服務(wù)注冊與發(fā)現(xiàn)工具240
12.4 容器編排與彈性伸縮254
12.4.1 容器編排的概念和作用254
12.4.2 彈性伸縮的原理和策略255
12.4.3 常用的容器編排工具和平臺256
3章 服務(wù)網(wǎng)關(guān)與API管理261
13.1 服務(wù)網(wǎng)關(guān)基礎(chǔ)262
13.1.1 服務(wù)網(wǎng)關(guān)的定義和角色262
13.1.2 服務(wù)網(wǎng)關(guān)與微服務(wù)架構(gòu)的關(guān)系263
13.1.3 常用的服務(wù)網(wǎng)關(guān)框架和工具263
13.2 API管理與開放平臺264
13.2.1 API管理與開放平臺相關(guān)概念264
13.2.2 API設(shè)計和文檔管理265
13.2.3 API授權(quán)與訪問控制267
13.3 服務(wù)發(fā)現(xiàn)與動態(tài)路由268
13.3.1 服務(wù)發(fā)現(xiàn)的概念和實現(xiàn)268
13.3.2 動態(tài)路由的實現(xiàn)和配置269
13.3.3 服務(wù)注冊與發(fā)現(xiàn)的工具和框架270
13.4 安全與監(jiān)控271
13.4.1 服務(wù)網(wǎng)關(guān)的安全機制271
13.4.2 API的安全性與防護措施272
13.4.3 服務(wù)網(wǎng)關(guān)的監(jiān)控與日志管理273
13.5 性能優(yōu)化與緩存274
13.5.1 服務(wù)網(wǎng)關(guān)的性能瓶頸274
13.5.2 緩存策略與機制275
13.5.3 CDN與內(nèi)容分發(fā)276
13.6 服務(wù)網(wǎng)關(guān)與API管理實戰(zhàn)277
13.6.1 項目功能277
13.6.2 核心代碼277
13.6.3 使用框架290
4章 DevOps與持續(xù)交付295
14.1 DevOps概述296
14.1.1 DevOps的原則296
14.1.2 DevOps的核心價值和優(yōu)勢296
14.2 DevOps工具與技術(shù)297
14.2.1 持續(xù)集成與持續(xù)交付工具97
14.2.2 配置管理與自動化工具298
14.3 DevOps實踐與流程299
14.3.1 持續(xù)集成與持續(xù)交付流程299
14.3.2 基礎(chǔ)設(shè)施即代碼和自動化測試300
14.3.3 監(jiān)控和日志管理301
14.4 DevOps與云計算302
14.4.1 云原生應(yīng)用開發(fā)與部署302
14.4.2 云平臺的彈性和自動化特性303
14.4.3 DevOps在多云環(huán)境中的挑戰(zhàn)與解決方案304
14.5 DevSecOps和持續(xù)安全305
14.5.1 安全文化和安全自動化306
14.5.2 安全測試和漏洞修復(fù)307
14.5.3 安全監(jiān)控和響應(yīng)機制308
14.6 持續(xù)交付與業(yè)務(wù)價值309
14.6.1 快速交付和敏捷創(chuàng)新309
14.6.2 用戶反饋和持續(xù)改進310
14.6.3 DevOps對組織和團隊的影響311
14.7 基于DevOps環(huán)境的Go語言微服務(wù)實戰(zhàn)312
14.7.1 項目設(shè)置和版本控制312
14.7.2 自動化構(gòu)建313
14.7.3 持續(xù)集成314
14.7.4 自動化測試316
14.7.5 容器化317
14.7.6 持續(xù)交付318
14.7.7 環(huán)境管理321
14.7.8 部署自動化322
14.7.9 監(jiān)控和日志324
14.7.10 持續(xù)改進325
5章 高并發(fā)在線聊天室系統(tǒng)327
15.1 背景介紹328
15.2 系統(tǒng)分析328
15.2.1 需求分析329
15.2.2 系統(tǒng)設(shè)計329
15.2.3 系統(tǒng)模塊架構(gòu)分析331
15.3 系統(tǒng)配置文件331
15.3.1 讀取配置文件331
15.3.2 實現(xiàn)系統(tǒng)配置文件333
15.4 數(shù)據(jù)庫設(shè)計333
15.4.1 數(shù)據(jù)庫表設(shè)計333
15.4.2 數(shù)據(jù)庫連接334
15.4.3 model層337
15.5 具體實現(xiàn)342
15.5.1 URL路由342
15.5.2 中間件層345
15.5.3 Service業(yè)務(wù)層349
15.5.4 Controller層353
15.6 調(diào)試運行359
展開全部
Go語言微服務(wù)開發(fā)實踐 作者簡介
王德利,計算機碩士,精通C/java/c++/python/機器學(xué)習(xí)/大數(shù)據(jù)開發(fā)等開發(fā)技術(shù),曾就職于東軟、阿里等一線開發(fā)企業(yè),參與了天貓 的服務(wù)器架構(gòu)工作,負(fù)責(zé)搭建了東軟北方數(shù)據(jù)中心。現(xiàn)在就職于浪潮信息,負(fù)責(zé)服務(wù)器事業(yè)部的研發(fā)和拓展工作。