微服務容器化開發實戰 版權信息
- ISBN:9787121382925
- 條形碼:9787121382925 ; 978-7-121-38292-5
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
微服務容器化開發實戰 本書特色
基于SpringCloud、Docker、Rancher、Kubernetes,從設計、開發、部署到運維的整體解決方案基于SpringCloud、Docker、Rancher、Kubernetes,從設計、開發、部署到運維的整體解決方案本書結合實際生產項目,詳細介紹從單體架構過渡到微服務容器化的分布式架構的全流程方法,囊括Spring Cloud、Docker、Rancher、Prometheus和Kubernetes等技術。
微服務、容器化實戰的書籍很多,內容和側重點也各有千秋。本書的獨特之處在于各章節既是一個整體,也可以獨立閱讀,可合可分。例如微服務開發、Kubernetes集群搭建、服務容器化、日志采集等,每章主題獨立,但又都圍繞著微服務和容器化生產實戰這一主題,相互關聯、渾然一體。既有整體的解決方案,又有專題的落地措施。
李福東北京匯哲合創科技創始人兼CEO, 熱銷書《大數據運營》作者
本書作者多年來一直奮戰在研發一線,具有豐富的系統設計、軟件開發和架構實戰經驗。本書組織結構層次分明、圖文并茂、案例翔實,體現了作者的深厚積淀和不俗功力。更難得的是,本書基于作者在微服務和容器化領域多年的實戰經驗,書中的解決方案具有極強的參考價值,讀者可借鑒后用于自己的生產環境中。總而言之,本書是一本很有指導意義和參考價值的實戰佳作。
陳立民京東零售前資深算法工程師,博士本書深入淺出地介紹了如何將一個傳統架構的系統升級改造為微服務容器化架構的系統,包括服務拆分、微服務開發、服務容器化、生產運行環境搭建,以及日志處理、系統監控等各個環節。既有經驗和實戰分享,也有方法論,是一本不可多得的微服務容器化的實戰性著作。
李銘軒中國聯通網絡技術研究院高級工程師,美國IEEE高級會員,資深云計算專家
微服務容器化開發實戰 內容簡介
本書結合實際生產項目的架構重構, 詳細介紹從傳統單體架構過度為微服務容器化的分布式架構的技術方法。主要包括微服務開發和運維技術棧的選型、SpringCloud微服務開發、Rancher和Kubernetes生產離線環境下的安裝部署、微服務的容器化和服務編排、日志調用鏈的采集和展示等要點。
微服務容器化開發實戰 目錄
第1章 單體架構與微服務架構 1
1.1 背景介紹 2
1.2 單體架構 3
1.2.1 單體架構的特點 3
1.2.2 單體架構的優點 4
1.2.3 單體架構的缺點 4
1.3 微服務架構 4
1.3.1 微服務架構的特點 6
1.3.2 微服務架構的優點 6
1.3.3 微服務架構的缺點 6
1.4 微服務拆分 7
1.4.1 微服務設計原則 7
1.4.2 微服務拆分原則 8
1.5 微服務開發原則 9
1.5.1 微服務命名 9
1.5.2 項目依賴配置 9
1.5.3 配置文件 10
1.5.4 代碼命名 10
1.6 本章小結 11
第2章 Spring Boot微服務開發 12
2.1 微服務框架 13
2.1.1 Dubbo服務框架 13
2.1.2 Spring Cloud微服務框架 15
2.1.3 Dubbo服務框架和Spring Cloud微服務框架的對比 17
2.2 技術棧選型 17
2.3 搭建開發環境 19
2.3.1 安裝開發軟件 19
2.3.2 Maven配置 20
2.3.3 IDE配置 21
2.4 編寫框架代碼 22
2.4.1 創建Maven工程 22
2.4.2 創建微服務模塊 24
2.4.3 微服務代碼結構 26
2.5 編寫業務代碼 29
2.5.1 Controller文件 30
2.5.2 Mapper文件 31
2.5.3 Service文件和ServiceImpl文件 31
2.6 打包與測試 33
2.6.1 編譯打包 33
2.6.2 運行測試 35
2.7 本章小結 36
第3章 搭建微服務運行環境 37
3.1 運行環境概述 38
3.2 搭建開發環境 38
3.2.1 IDE環境 40
3.2.2 非IDE環境 41
3.3 搭建測試環境 41
3.3.1 非容器化環境 41
3.3.2 容器化環境 42
3.4 搭建生產環境 43
3.5 切換運行環境 45
3.6 本章小結 45
第4章 Rancher和Kubernetes離線部署 46
4.1 下載離線文件 47
4.1.1 下載Docker安裝文件 47
4.1.2 下載docker-compose文件 48
4.1.3 下載Harbor安裝文件 48
4.1.4 下載Rancher離線文件 49
4.2 創建CA證書 51
4.3 Docker離線安裝 52
4.3.1 安裝Docker 52
4.3.2 自定義Docker目錄 53
4.3.3 創建用戶eos 54
4.4 Harbor離線安裝 54
4.4.1 配置docker-compose 54
4.4.2 載入Harbor鏡像 55
4.4.3 配置Harbor 56
4.4.4 啟動Harbor 57
4.4.5 創建用戶和項目 58
4.5 Docker登錄設置 61
4.5.1 配置Harbor證書 61
4.5.2 登錄Docker 62
4.6 Rancher離線安裝 62
4.6.1 載入Rancher鏡像 63
4.6.2 安裝Rancher 65
4.7 Kubernetes安裝 66
4.7.1 配置私有倉庫 66
4.7.2 添加Control節點 67
4.7.3 添加Worker節點 71
4.7.4 配置kubectl客戶端 74
4.8 本章小結 76
第5章 日志采集 78
5.1 日志采集模型 79
5.2 配置微服務日志 80
5.3 容器日志采集 81
5.4 日志匯集 82
5.4.1 日志格式 83
5.4.2 配置Filebeat 84
5.4.3 配置Logstash 86
5.4.4 配置Elasticsearch 91
5.5 日志展示 95
5.5.1 配置Kibana 95
5.5.2 啟動和關閉Kibana 96
5.5.3 Kibana索引設置 96
5.5.4 展示Kibana圖形化 98
5.6 本章小結 108
第6章 調用鏈跟蹤 109
6.1 調用鏈概述 110
6.1.1 系統完整調用鏈 111
6.1.2 調用過程追蹤 111
6.2 Spring Cloud調用鏈模型 112
6.2.1 Sleuth組件 112
6.2.2 Zipkin組件 114
6.2.3 Spring Cloud調用鏈跟蹤 115
6.3 調用鏈跟蹤配置 116
6.3.1 微服務配置 116
6.3.2 Zipkin服務端配置 120
6.4 調用鏈跟蹤展示 124
6.4.1 Zipkin圖形化展示 125
6.4.2 Kibana圖形化展示 133
6.5 本章小結 136
第7章 熔斷器 137
7.1 熔斷器概述 138
7.1.1 熔斷器介紹 138
7.1.2 Hystrix介紹 138
7.2 熔斷器配置 139
7.3 熔斷器使用 140
7.3.1 EnableCircuitBreaker注解 140
7.3.2 HystrixCommand注解 141
7.3.3 Fallback函數 142
7.4 熔斷器監控 144
7.5 本章小結 145
第8章 容器化與服務編排 146
8.1 容器化與服務編排概述 147
8.1.1 Docker介紹 147
8.1.2 Docker與虛擬機 148
8.1.3 服務編排與調度 149
8.2 構建基礎鏡像 149
8.2.1 母鏡像的選擇 150
8.2.2 基礎鏡像的特點 151
8.2.3 生成基礎鏡像 151
8.3 構建業務鏡像 154
8.3.1 微服務打包 154
8.3.2 鏡像構建的Dockerfile文件 156
8.3.3 鏡像集成構建 157
8.4 服務編排 161
8.4.1 服務創建 161
8.4.2 服務版本升級 165
8.4.3 參數配置 166
8.4.4 服務版本降級 167
8.5 目錄掛載 168
8.5.1 創建持久化卷 169
8.5.2 綁定持久化卷 170
8.5.3 掛載持久化卷 170
8.6 環境變量 171
8.7 管理Config Map 172
8.7.1 創建Config Map 172
8.7.2 使用Config Map 173
8.8 本章小結 175
第9章 系統監控 176
9.1 系統監控概述 177
9.1.1 主機監控 177
9.1.2 安全監控 179
9.1.3 中間件監控 181
9.1.4 業務監控 183
9.1.5 容器監控 184
9.1.6 監控工具 184
9.2 Kubernetes監控 185
9.3 Node Exporter組件 187
9.4 Prometheus組件 191
9.4.1 Prometheus組件的特征 191
9.4.2 Prometheus組件的架構 193
9.4.3 Prometheus組件的部署 194
9.5 Grafana組件 206
9.5.1 Grafana組件介紹 206
9.5.2 Grafana組件的部署 207
9.5.3 Grafana組件的展示 209
9.6 本章小結 211
第10章 持續集成部署 212
10.1 持續集成部署的概念 213
10.1.1 持續集成 213
10.1.2 持續部署 213
10.2 持續集成部署的模型 214
10.3 基于Jenkins的CICD 215
10.3.1 GitLab代碼分支管理 215
10.3.2 CICD模型 215
10.3.3 CICD流程 216
10.3.4 CICD實踐 218
10.4 本章小結 220
展開全部
微服務容器化開發實戰 作者簡介
尹為強,中國聯通資深開發工程師、架構師。2006年畢業于北京理工大學,從事軟件開發、架構設計十余年。現就職于中國聯通總部電子商務中心,集團大IT專家人才,高級工程師。主導中國聯通某中臺系統的架構重構、微服務容器化的設計開發和落地工作。主要技術領域是分布式系統設計、微服務設計與開發、容器化開發和容器云計算等。