注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Go語言微服務(wù)開發(fā)實踐

Go語言微服務(wù)開發(fā)實踐

Go語言微服務(wù)開發(fā)實踐

定 價:¥99.00

作 者: 王德利
出版社: 清華大學(xué)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302669067 出版時間: 2024-09-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  《Go語言微服務(wù)開發(fā)實踐》循序漸進、由淺入深地講解了Go語言微服務(wù)開發(fā)的核心知識,并通過具體實例的實現(xiàn)過程演練了開發(fā)Go語言微服務(wù)程序的方法和流程。全書共分15章,分別講解了微服務(wù)架構(gòu)概述,服務(wù)注冊與發(fā)現(xiàn),分布式配置中心,日志記錄與監(jiān)控,容器化與部署,消息傳遞與異步通信,遠程過程調(diào)用,構(gòu)建RESTful API,統(tǒng)一認證與授權(quán),數(shù)據(jù)庫訪問與ORM,事件驅(qū)動架構(gòu),容錯處理與負載均衡,服務(wù)網(wǎng)關(guān)與API管理,DevOps與持續(xù)交付及高并發(fā)在線聊天室系統(tǒng)。本書內(nèi)容簡潔、全面,且不失其技術(shù)深度,書中以簡練的文字介紹了復(fù)雜的案例,方便讀者學(xué)習(xí)使用?!禛o語言微服務(wù)開發(fā)實踐》適用于已經(jīng)了解了Go語言基礎(chǔ)語法,并想進一步學(xué)Go Web開發(fā)、Go語言微服務(wù)開發(fā)、Go語言項目架構(gòu)的讀者,還可以作為高等院校相關(guān)專業(yè)的師生用書和培訓(xùn)機構(gòu)的培訓(xùn)教材。

作者簡介

  王德利,計算機碩士,精通C/java/c /python/機器學(xué)習(xí)/大數(shù)據(jù)開發(fā)等開發(fā)技術(shù),曾就職于東軟、阿里等一線開發(fā)企業(yè),參與了天貓國際的服務(wù)器架構(gòu)工作,負責(zé)搭建了東軟北方數(shù)據(jù)中心。現(xiàn)在就職于浪潮信息,負責(zé)服務(wù)器事業(yè)部的研發(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 Cloud 8
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  ZooKeeper 31
3.3.2  Consul 32
3.3.3  Etcd 33
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  健康檢查和指標收集 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)控指標的收集和展示實戰(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  Docker 69
5.2.2  Kubernetes 70
5.2.3  Apache Mesos 71
5.2.4  Amazon ECS 72
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)控指標的收集和展示 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 Kafka 95
6.4.2  RabbitMQ 96
6.4.3  Apache ActiveMQ 96
6.4.4  NATS 97
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章  遠程過程調(diào)用 113
7.1  遠程過程調(diào)用的概念和原理 114
7.1.1  遠程過程調(diào)用的基本工作流程 114
7.1.2  遠程對象和遠程方法調(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)中使用RPC 117
7.3.1  Go語言原生RPC實戰(zhàn) 118
7.3.2  gRPC高性能遠程過程調(diào)用實戰(zhàn) 120
7.3.3  使用Go-kit實現(xiàn) RPC實戰(zhàn) 126
第8章  構(gòu)建RESTful API 131
8.1  RESTful API介紹 132
8.1.1  REST的基本概念 132
8.1.2  RESTful架構(gòu)的優(yōu)點和約束 133
8.2  設(shè)計RESTful API 134
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 API 147
8.5.4  驗證處理 150
8.5.5  總結(jié) 152
第9章  統(tǒng)一認證與授權(quán) 155
9.1  認證與授權(quán)的基本概念 156
9.1.1  認證的定義和作用 156
9.1.2  授權(quán)的定義和作用 156
9.1.3  認證與授權(quán)的關(guān)系和流程 157
9.1.4  常見的身份認證協(xié)議與技術(shù) 157
9.2  統(tǒng)一認證的架構(gòu)與實現(xiàn) 159
9.2.1  單點登錄 159
9.2.2  統(tǒng)一認證的架構(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)一認證與授權(quán) 163
9.4.1  微服務(wù)單點登錄實戰(zhàn) 163
9.4.2  微服務(wù)OAuth 2.0認證實戰(zhàn) 173
第10章  數(shù)據(jù)庫訪問與ORM 179
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  GORM 183
10.3.2  XORM 187
10.3.3  SQLBoiler 191
10.3.4  Gorp 196
第11章  事件驅(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
第12章  容錯處理與負載均衡 223
12.1  容錯處理的基本概念 224
12.1.1  微服務(wù)的容錯處理策略和技術(shù) 224
12.1.2  常用的容錯處理工具 225
12.2  微服務(wù)的負載均衡 230
12.2.1  負載均衡的作用 231
12.2.2  負載均衡原理和算法 231
12.2.3  常用的負載均衡器和工具 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
第13章  服務(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
第14章  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ù)交付工具 297
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
第15章  高并發(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

本目錄推薦

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