注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計微服務從小白到專家:Spring Cloud和Kubernetes實戰(zhàn)

微服務從小白到專家:Spring Cloud和Kubernetes實戰(zhàn)

微服務從小白到專家:Spring Cloud和Kubernetes實戰(zhàn)

定 價:¥158.00

作 者: 姚秋辰 等
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121419478 出版時間: 2021-09-01 包裝: 平裝-膠訂
開本: 128開 頁數(shù): 716 字數(shù):  

內容簡介

  本書源碼以Spring Boot 2.2.x、Spring Cloud Hoxton和Kubernetes 1.19.2為基礎,從Spring Boot單體應用的搭建,到Spring Cloud微服務架構升級,再到使用Docker和Kubernetes容器編排技術做容器化改造,由淺入深、逐步講解,使讀者全面掌握主流微服務架構和容器編排方案。本書共22章,分為三個部分。部分,講解Spring Boot的核心功能和底層原理,手把手帶讀者搭建一個基于Spring Boot的優(yōu)惠券平臺單體應用系統(tǒng)。第二部分,講解Spring Cloud微服務技術的應用,涵蓋了Spring Cloud Netflix和Spring Cloud阿里巴巴兩大組件庫的核心組件,在項目實戰(zhàn)環(huán)節(jié),將Spring Cloud微服務技術應用到優(yōu)惠券項目中,讓讀者親身體驗從單體應用升級為微服務架構的過程。第三部分,深入講解Docker容器技術和Kubernetes容器編排技術的核心功能,并對優(yōu)惠券項目做容器化改造。本書緊扣實戰(zhàn)、學練結合,適合具備一定Java基礎的開發(fā)人員、對微服務架構和Spring Cloud技術及容器編排技術感興趣的讀者。對處在微服務架構轉型期的團隊來說,本書具有很大的實踐指導價值。

作者簡介

  姚秋辰PayPal China研發(fā)經(jīng)理,擁有十余年系統(tǒng)架構設計與團隊管理經(jīng)驗,專注于互聯(lián)網(wǎng)電商、金融和支付等領域的高可用系統(tǒng)設計,在微服務系統(tǒng)的架構設計上有豐富的實踐經(jīng)驗。曾就職于eBay、阿里、SAP和HP,參與或主導過多個大型應用的微服務改造、穩(wěn)定性優(yōu)化和主鏈路高可用等方案設計。 張昕StubHub國際互聯(lián)網(wǎng)票務公司DevOps團隊和云平臺負責人,OpenGroup認證架構大師,前IBM和eBay高級架構師。十余年系統(tǒng)架構設計與咨詢管理經(jīng)驗,曾主導多家國內外大型金融機構、電信運營商和互聯(lián)網(wǎng)公司的系統(tǒng)優(yōu)化、云平臺轉型、容災多活、單元化設計,對微服務拆分管理、容器編排部署、系統(tǒng)安全性、可用性、擴展性等設計有著豐富的實戰(zhàn)經(jīng)驗。 卿睿PayPal高級架構師,十多年的架構設計經(jīng)驗,涉足的領域從企業(yè)應用到大型互聯(lián)網(wǎng)產(chǎn)品。在分布式和大型系統(tǒng)設計方面都有豐富的理論知識和實踐經(jīng)驗,主導過多個全球性項目的架構設計和落地。對DDD有深入的認知,并基于此打造了多個從0到1的產(chǎn)品。此外,曾帶領團隊完成多個大型系統(tǒng)微服務化改造和云架構遷移。曾先后在HP、Accenture和eBay等公司擔任架構師,目前專注于電商、合規(guī)等領域。

圖書目錄

 
目  錄
第1章 熱身運動 1
1.1 準備工作 1
1.1.1 安裝JDK 2
1.1.2 安裝IDE 4
1.1.3 安裝Maven 5
1.1.4 安裝Postman 6
1.2 Java Web開發(fā)的進化史 6
1.2.1 應用服務器 8
1.2.2 青銅Servlet 11
1.2.3 鉑金Spring MVC 18
1.2.4 王者Spring Boot 22
第2章 Spring Boot介紹 26
2.1 Spring Boot的前塵往事 26
2.1.1 Spring Framework 27
2.1.2 Spring Boot 32
2.2 Spring Boot的設計理念 34
2.3 Spring Boot的核心功能 34
2.3.1 易于使用的依賴管理Starter 35
2.3.2 約定大于配置的Auto Configuration 39
2.3.3 優(yōu)雅靈活的配置管理Properties 45
2.3.4 簡單明了的管理工具Actuator 51
2.3.5 方便快捷的內置容器Embedded Container 57
第3章 Spring Boot實戰(zhàn) 63
3.1 創(chuàng)建Spring Boot項目 63
3.1.1 利用Spring Initializr創(chuàng)建項目 63
3.1.2 項目結構 64
3.1.3 在項目中添加Starter 65
3.1.4 偷懶神器lombok 68
3.2 項目運行打包 70
3.2.1 Spring Boot項目編譯打包 70
3.2.2 運行Spring Boot項目 72
3.3 Spring Boot管理日志 74
3.3.1 日志框架 74
3.3.2 Log4J2 75
3.3.3 Logback 77
3.3.4 Slf4j 79
3.4 數(shù)據(jù)訪問 80
3.4.1 訪問關系型數(shù)據(jù)庫 80
3.4.2 實現(xiàn)優(yōu)惠券模板模塊DAO層 131
3.4.3 實現(xiàn)用戶領券模塊DAO層 133
3.4.4 使用key-value store實現(xiàn)緩存 135
3.5 消息系統(tǒng) 143
3.5.1 消息系統(tǒng)的作用 143
3.5.2 消息系統(tǒng)的兩種模式 144
3.5.3 集成RabbitMQ 150
3.5.4 集成Kafka 157
3.6 應用安全管理 162
3.6.1 Authentication用戶身份鑒定 163
3.6.2 Authorization用戶鑒權 165
3.6.3 OAuth 2.0 166
3.6.4 Spring Security 168
3.7 定時任務 173
3.7.1 Quartz 174
3.7.2 Spring Batch 178
3.8 Spring Boot項目測試 186
第4章 微服務與Spring Cloud 189
4.1 什么是微服務架構 189
4.1.1 微服務架構的特點 189
4.1.2 一線大廠為什么采用微服務架構 190
4.1.3 微服務架構對系統(tǒng)運維的挑戰(zhàn) 191
4.2 微服務的拆分規(guī)范 192
4.2.1 領域模型 192
4.2.2 計算密集型業(yè)務和I/O密集型業(yè)務 192
4.2.3 區(qū)分高頻、低頻業(yè)務場景和突發(fā)流量 192
4.2.4 規(guī)劃業(yè)務主鏈路 193
4.3 大廠微服務架構的服務治理方案 193
4.3.1 業(yè)界主流服務治理框架一覽 193
4.3.2 微服務框架的選型建議 195
4.4 了解Spring Cloud 196
4.4.1 Spring Cloud簡介 196
4.4.2 Spring Cloud和Spring Boot的關系 197
4.5 了解Spring Cloud組件庫 198
4.5.1 Spring Cloud的整體架構 198
4.5.2 Spring Cloud的子項目 199
4.5.3 Netflix組件庫 201
4.5.4 Alibaba組件庫 202
4.6 實戰(zhàn)項目技術選型 203
4.6.1 技術架構選型 203
4.6.2 Spring Cloud組件選型與版本 204
第5章 使用Eureka實現(xiàn)服務治理 205
5.1 什么是服務治理 205
5.2 Spring Cloud中常用的注冊中心 207
5.3 分布式系統(tǒng)理論 209
5.3.1 了解CAP定理 209
5.3.2 高并發(fā)應用在CAP中的偏向性 210
5.4 Eureka核心概念 211
5.4.1 服務注冊 211
5.4.2 服務發(fā)現(xiàn) 212
5.4.3 服務續(xù)約和服務下線 212
5.4.4 服務剔除 212
5.4.5 服務自保 213
5.5 優(yōu)惠券項目改造——高可用注冊中心 213
5.5.1 創(chuàng)建項目結構 213
5.5.2 修改host文件 213
5.5.3 引入Maven依賴項 214
5.5.4 創(chuàng)建項目啟動類 215
5.5.5 為注冊中心添加配置 215
5.6 coupon-template-service微服務架構升級 218
5.6.1 添加依賴項 218
5.6.2 創(chuàng)建啟動類 218
5.6.3 添加配置項 219
5.6.4 運行項目 220
5.7 改造coupon-calculator 221
5.8 改造coupon-user-service服務 222
5.8.1 添加依賴項和配置項 222
5.8.2 聲明RestTemplate 222
5.8.3 改造findCoupon()方法——RestTemplate.exchange函數(shù)的用法 223
5.8.4 改造requestCoupon()方法——getForObject函數(shù)的用法 225
5.8.5 改造placeOrder()方法 226
5.8.6 啟動項目并驗證服務注冊 227
5.9 Eureka中的其他配置參數(shù) 227
第6章 使用Nacos實現(xiàn)服務治理 229
6.1 什么是Nacos 229
6.2 Nacos的核心功能 230
6.2.1 服務注冊、服務發(fā)現(xiàn)與健康檢測 231
6.2.2 配置管理 231
6.3 Nacos下載與安裝 232
6.4 Nacos實戰(zhàn) 234
6.4.1 Nacos與Spring Cloud的集成 234
6.4.2 Nacos控制臺 234
6.4.3 Nacos實現(xiàn)配置管理 237
6.4.4 Nacos實現(xiàn)服務注冊與服務發(fā)現(xiàn) 243
第7章 使用Ribbon實現(xiàn)負載均衡 247
7.1 什么是負載均衡 247
7.2 了解Ribbon 248
7.3 了解Ribbon的負載均衡器 249
7.3.1 Ribbon內置的負載均衡策略 249
7.3.2 各個負載均衡器適用的業(yè)務場景 250
7.3.3 Ribbon的IRule擴展接口 250
7.4 IPing機制 251
7.4.1 了解IPing機制 251
7.4.2 Ribbon內置的IPing策略類 252
7.5 微服務項目架構升級 252
7.5.1 添加Ribbon依賴項 252
7.5.2 添加@LoadBalancer注解 253
7.5.3 修改getUrl()方法 253
7.5.4 配置Ribbon負載均衡策略 254
第8章 使用OpenFeign實現(xiàn)服務間調用 256
8.1 Feign 256
8.1.1 什么是Feign 256
8.1.2 Feign的工作流程 257
8.1.3 Feign對請求和響應的壓縮 258
8.2 微服務架構升級——使用Feign代理接口調用 258
8.2.1 添加依賴項 258
8.2.2 開啟Feign注解支持 258
8.2.3 定義Feign接口 259
8.2.4 替換RestTemplate 261
8.2.5 Feign與Ribbon的超時與重試配置 263
8.2.6 Feign的日志配置 265
8.2.7 配置請求和響應的壓縮參數(shù) 266
第9章 使用Hystrix實現(xiàn)服務間容錯 267
9.1 Hystrix 267
9.1.1 什么是Hystrix 267
9.1.2 服務雪崩 268
9.1.3 服務雪崩的解決方案 269
9.2 Hystrix的核心概念 269
9.2.1 服務降級 269
9.2.2 服務熔斷 270
9.2.3 Hystrix如何切換斷路器的開關 271
9.3 微服務架構升級——配置熔斷和降級 271
9.3.1 添加依賴項和配置項 271
9.3.2 在Feign接口上指定降級類 272
9.3.3 為特定方法指定降級邏輯 274
9.3.4 設置全局熔斷參數(shù) 274
9.3.5 為指定方法設置超時時間 276
9.3.6 隔離機制的配置項 277
9.3.7 使用@CacheResult緩存注解 279
9.3.8 開放Actuator端點 279
9.4 微服務架構升級——利用Turbine收集Hystrix信息 281
9.4.1 什么是Turbine 281
9.4.2 添加Turbine子項目 281
9.4.3 創(chuàng)建啟動類 282
9.4.4 指定需要監(jiān)控的服務名稱 283
9.5 微服務架構升級——利用Hystrix Dashboard觀察服務健康度 284
9.5.1 什么是Hystrix Dashboard 284
9.5.2 添加Hystrix Dashboard項目 284
9.5.3 創(chuàng)建配置項和啟動類 286
9.6 啟用Hystrix Dashboard觀察服務狀態(tài) 286
第10章 使用Sentinel實現(xiàn)限流控制 290
10.1 服務容錯 290
10.2 Sentinel簡介 291
10.2.1 什么是Sentinel 291
10.2.2 Sentinel的核心功能 292
10.3 Sentinel控制臺 296
10.4 Sentinel與Spring Cloud的集成 297
10.5 使用Sentinel實現(xiàn)降級控制 298
10.6 使用Sentinel實現(xiàn)限流控制 302
10.7 Sentinel的日志 307
第11章 使用Spring Cloud Config和Bus搭建配置中心 310
11.1 配置中心在微服務中的應用 310
11.1.1 環(huán)境隔離 311
11.1.2 業(yè)務配置項動態(tài)推送 311
11.1.3 中心化的配置管理 312
11.2 了解Spring Cloud Config和Bus 313
11.2.1 Spring Cloud Config Bus架構圖 313
11.2.2 保存配置的幾種方式 315
11.3 準備工作——創(chuàng)建GitHub文件 315
11.3.1 創(chuàng)建GitHub Repo 315
11.3.2 添加YML配置文件 316
11.4 微服務架構升級——搭建高可用的配置中心 316
11.4.1 創(chuàng)建高可用的config-server項目 316
11.4.2 添加依賴項和啟動類 317
11.4.3 添加配置——設置GitHub地址,借助Eureka實現(xiàn)高可用 319
11.4.4 從多個GitHub Repo中讀取配置 321
11.5 GitHub配置文件命名規(guī)則 322
11.5.1 Application、Profile和Label 322
11.5.2 路徑匹配規(guī)則 322
11.6 對GitHub中的配置項進行加解密 324
11.6.1 更新JDK中的JCE組件 324
11.6.2 使用對稱密鑰對配置項加解密 324
11.6.3 使用非對稱密鑰對配置項加解密 327
11.7 微服務架構升級——從配置中心讀取配置項 328
11.7.1 添加Spring Cloud Config和Bus的依賴項 328
11.7.2 為配置中心添加service-id 328
11.7.3 對數(shù)據(jù)庫訪問密碼進行加密存儲 330
11.7.4 配置@RefreshScope注解 330
11.7.5 從客戶端觸發(fā)配置刷新 332
11.7.6 使用Bus批量刷新配置項 333
第12章 使用Spring Cloud Gateway搭建服務網(wǎng)關 334
12.1 了解微服務網(wǎng)關 334
12.1.1 服務網(wǎng)關的用途 335
12.1.2 Spring Cloud中的網(wǎng)關組件 336
12.2 Spring Cloud Gateway的核心概念——路由、謂詞和過濾器 337
12.3 路由功能 339
12.3.1 通過配置文件設置簡單路由 339
12.3.2 通過Java代碼配置路由 340
12.3.3 謂詞工廠 340
12.3.4 Gateway常用謂詞 341
12.3.5 過濾器 342
12.4 微服務架構改造——搭建網(wǎng)關模塊 343
12.4.1 添加Gateway的依賴項和啟動類 343
12.4.2 將Gateway連接到注冊中心 344
12.4.3 在Java文件中設置路由規(guī)則 345
12.4.4 添加網(wǎng)關層跨域過濾器 347
12.5 微服務架構升級——使用Redis Lua做流控 348
12.5.1 Redis和Lua的限流算法 348
12.5.2 設置限流規(guī)則 350
12.5.3 通過Actuator端點查看路由 351
第13章 使用Sleuth進行調用鏈路追蹤 354
13.1 為什么微服務架構需要鏈路追蹤 354
13.2 鏈路追蹤技術介紹 356
13.2.1 Sleuth 356
13.2.2 Zipkin 357
13.2.3 ELK 358
13.3 Sleuth基本數(shù)據(jù)結構 359
13.4 微服務架構升級——集成Sleuth實現(xiàn)鏈路追蹤 361
13.4.1 添加依賴項 361
13.4.2 配置Sleuth采樣率 361
13.5 微服務架構升級——搭建Zipkin服務器 362
13.5.1 添加Zipkin依賴 362
13.5.2 創(chuàng)建Zipkin啟動類 363
13.5.3 通過RabbitMQ接收日志文件 363
13.5.4 應用程序集成Zipkin 365
13.6 微服務架構升級——搭建ELK環(huán)境 368
13.6.1 下載ELK的Docker鏡像 368
13.6.2 在鏡像內配置ELK屬性 368
13.6.3 將應用日志輸送到Logstash 370
13.6.4 在Kibana中搜索日志 372
第14章 使用Stream集成消息隊列 375
14.1 了解Stream 375
14.2 消息隊列在微服務架構中的應用 376
14.3 消息隊列的概念 380
14.3.1 發(fā)布訂閱 380
14.3.2 消費組 381
14.3.3 消息分區(qū) 381
14.4 微服務架構升級——異步分發(fā)優(yōu)惠券 382
14.4.1 添加Stream依賴項和消息信道 382
14.4.2 創(chuàng)建消息生產(chǎn)者 383
14.4.3 創(chuàng)建消息消費者并添加啟動注解 384
14.4.4 添加Stream配置 385
14.5 微服務架構升級——Stream異常處理 387
14.5.1 本機重試 387
14.5.2 消息重新入隊 387
14.5.3 自定義異常處理——添加降級邏輯 388
14.5.4 死信隊列 388
14.6 Stream實現(xiàn)延遲消息 391
14.6.1 延遲消息的使用場景 391
14.6.2 安裝延遲消息插件 393
14.6.3 實現(xiàn)延遲消息 394
第15章 使用Seata實現(xiàn)分布式事務 396
15.1 為什么需要分布式事務 396
15.2 分布式事務的替代方案 397
15.3 傳統(tǒng)的XA分布式事務解決方案 398
15.4 Seata框架介紹 400
15.5 Seata的AT模式 402
15.5.1 AT模式原理 402
15.5.2 AT模式下的寫隔離 404
15.5.3 AT模式下的讀隔離 405
15.5.4 TCC模式 407
15.5.5 Saga模式 409
15.5.6 XA模式 410
15.6 微服務架構升級——搭建Seata服務器 410
15.6.1 下載Seata服務器 410
15.6.2 修改file.conf文件 411
15.6.3 修改registry.conf文件 412
15.6.4 添加服務器JDBC驅動 413
15.6.5 創(chuàng)建數(shù)據(jù)庫表 413
15.7 微服務架構升級——應用改造 416
15.7.1 添加Seata依賴項和配置項 416
15.7.2 實現(xiàn)業(yè)務邏輯 417
15.7.3 添加數(shù)據(jù)源代理 419
第16章 走進容器化的世界 420
16.1 微服務落地的難點 420
16.1.1 微服務的興起與容器的順勢而為 420
16.1.2 業(yè)務的高內聚和低耦合 421
16.1.3 擺脫軟硬件異構的困境 423
16.1.4 遵循云原生12因素 425
16.1.5 滿足康威定律 429
16.1.6 一線大廠為什么采用容器技術 430
16.2 容器技術的演進 432
16.2.1 容器技術的前世今生 432
16.2.2 主流容器技術介紹 433
16.2.3 容器技術生態(tài)圈對比 434
16.2.4 未來展望 436
16.3 容器編排技術先睹為快 436
16.3.1 資源統(tǒng)一管理和容器編排協(xié)作 436
16.3.2 Swarm 437
16.3.3 Mesos 437
16.3.4 Kubernetes 438
16.3.5 Rancher 439
16.3.6 各大容器編排框架對比 440
第17章 Docker容器技術 442
17.1 從HelloWorld起步 442
17.1.1 容器實戰(zhàn)基本思路 442
17.1.2 5分鐘Docker安裝 443
17.1.3 1分鐘HelloWorld 443
17.1.4 Docker感受分享 444
17.2 Docker架構 445
17.2.1 整體架構 445
17.2.2 客戶端 446
17.2.3 Docker宿主機 449
17.2.4 倉庫 450
17.2.5 鏡像 451
17.2.6 容器 451
17.2.7 各個組件用途歸納 451
17.3 Docker鏡像 452
17.3.1 鏡像結構 452
17.3.2 鏡像制作 453
17.3.3 Dockerfile常用指令 455
17.3.4 Dockerfile排疑解惑 458
17.3.5 鏡像管理思路 461
17.4 Docker容器 464
17.4.1 容器的運行原理 464
17.4.2 隔離特性 464
17.4.3 限制特性 468
17.4.4 容器的起承轉合 469
17.4.5 容器的管理思路 472
17.5 Docker存儲 473
17.5.1 存儲管理的目標 473
17.5.2 系統(tǒng)卷 473
17.5.3 數(shù)據(jù)卷 474
17.5.4 數(shù)據(jù)卷容器 479
17.5.5 存儲模式總結 480
17.6 Docker網(wǎng)絡 481
17.6.1 網(wǎng)絡技術分類 481
17.6.2 none網(wǎng)絡 482
17.6.3 host網(wǎng)絡 482
17.6.4 bridge網(wǎng)絡 483
17.6.5 自定義網(wǎng)絡 486
17.6.6 第三方網(wǎng)絡 486
17.6.7 網(wǎng)絡技術選型 487
17.7 進一步感受Docker的魅力 488
17.7.1 Nginx反向代理部署 488
17.7.2 Redis緩存部署 489
17.7.3 MySQL數(shù)據(jù)庫部署 491
17.7.4 MongoDB文檔數(shù)據(jù)庫部署 493
17.7.5 RabbitMQ消息隊列部署 494
17.7.6 Kafka集群部署 495
17.7.7 ELK監(jiān)控部署 497
17.7.8 Docker感受新體驗 498
17.8 鏡像倉庫 499
17.8.1 搭建私有倉庫 499
17.8.2 上傳鏡像 500
17.8.3 下載鏡像 500
17.8.4 倉庫的擴展 501
17.9 【優(yōu)惠券項目落地】——Docker容器化 502
17.9.1 容器化總體思路 502
17.9.2 無狀態(tài)應用模塊容器化 503
17.9.3 無狀態(tài)中間件容器化 506
17.9.4 有狀態(tài)中間件容器化 508
17.9.5 容器間網(wǎng)絡互通 509
17.9.6 后續(xù)改造規(guī)劃 512

第18章 Kubernetes基礎 513
18.1 了解容器編排 513
18.1.1 容器編排的意義和使命 513
18.1.2 容器編排的難點 514
18.2 了解Kubernetes 514
18.2.1 Kubernetes整體架構 514
18.2.2 Kubernetes Master節(jié)點 515
18.2.3 Kubernetes Node節(jié)點 516
18.3 Kubernetes基本概念 516
18.3.1 Pod概念 516
18.3.2 Controller概念 517
18.3.3 Label資源鎖定 518
18.3.4 Namespace邏輯隔離 519
18.3.5 Kubernetes的功能理解導圖 519
18.4 Kubernetes集群搭建 520
18.4.1 基礎軟件安裝 520
18.4.2 在Master節(jié)點創(chuàng)建集群 521
18.4.3 網(wǎng)絡選擇和初始化 525
18.4.4 Node節(jié)點加入集群 525
18.5 Pod管理 526
18.5.1 Pod原理和實現(xiàn) 526
18.5.2 Pod生命周期管理 528
18.5.3 資源限制和調度選擇 532
18.5.4 健康檢查 537
18.6 Controller管理 540
18.6.1 Controller原理 540
18.6.2 Deployment 541
18.6.3 滾動升級 547
18.6.4 后臺應用DaemonSet 552
18.6.5 任務Job 554
18.6.6 控制器選擇思路 560
18.7 【優(yōu)惠券項目落地】——Kubernetes容器化管理 560
18.7.1 應用Pod劃分總體思路 560
18.7.2 應用Controller選擇 561
18.7.3 Node資源分配 561
18.7.4 Liveness健康檢查 562

第19章 Kubernetes網(wǎng)絡互聯(lián) 564
19.1 跨節(jié)點網(wǎng)絡 565
19.1.1 網(wǎng)絡互聯(lián)總體思路 565
19.1.2 Flannel網(wǎng)絡的Kubernetes實現(xiàn) 565
19.1.3 Canal網(wǎng)絡的Kubernetes實現(xiàn) 565
19.1.4 網(wǎng)絡選型 566
19.2 服務發(fā)現(xiàn)與負載均衡 566
19.2.1 Pod訪問方式 566
19.2.2 ClusterIP方式 568
19.2.3 NodePort方式 571
19.2.4 LoadBalancer方式 574
19.2.5 Ingress方式 575
19.2.6 服務發(fā)現(xiàn)總體思路 577
19.3 【優(yōu)惠券項目落地】——服務發(fā)現(xiàn)和互聯(lián) 577
19.3.1 有狀態(tài)服務搭建 577
19.3.2 無狀態(tài)服務搭建 581
19.3.3 微服務網(wǎng)絡互聯(lián)和服務發(fā)現(xiàn) 583
第20章 Kubernetes數(shù)據(jù)存儲 585
20.1 Volume卷 586
20.1.1 磁盤管理整體思路 586
20.1.2 emptyDir方式 587
20.1.3 hostPath方式 588
20.1.4 云存儲方式 589
20.1.5 PV-PVC方式 590
20.1.6 StorageClass方式 593
20.2 ConfigMap和Secret 594
20.2.1 ConfigMap和Secret的定位 594
20.2.2 創(chuàng)建方式 595
20.2.3 數(shù)據(jù)傳遞方式 599
20.3 【優(yōu)惠券項目落地】——配置和磁盤管理 603
20.3.1 應用環(huán)境變量加載 603
20.3.2 有狀態(tài)應用磁盤掛載 603
第21章 Kubernetes高級功能 606
21.1 容器化的非功能性需求 607
21.1.1 架構設計的非功能性考量 607
21.1.2 Kubernetes容器方案的架構特性 607
21.2 安全性 608
21.2.1 安全性整體思路 608
21.2.2 認證和授權 609
21.2.3 Pod安全策略 612
21.2.4 網(wǎng)絡訪問策略 612
21.3 可用性 613
21.3.1 高可用架構整體思路 613
21.3.2 Node節(jié)點高可用 614
21.3.3 etcd高可用 615
21.3.4 Master節(jié)點高可用 615
21.4 擴展性 616
21.4.1 水平還是垂直擴展 616
21.4.2 手動擴縮容 616
21.4.3 HPA自動擴縮容 619
21.4.4 Serverless擴縮容 621
21.5 易用性 622
21.5.1 易用性的考量要素 622
21.5.2 Helm應用包管理 623
21.5.3 CI/CD流水線 627
21.6 可觀察性 629
21.6.1 集群觀察要點 629
21.6.2 Dashboard 629
21.6.3 Prometheus Grafana 630
21.6.4 Elasticsearch Fluentd Kibana 633
21.7 【優(yōu)惠券項目落地】——Kubernetes容器架構終態(tài) 637
21.7.1 實現(xiàn)服務高可用 637
21.7.2 容器水平擴展 643
21.7.3 設置性能監(jiān)控告警 644
21.7.4 設置日志監(jiān)控搜索 645
21.7.5 微服務容器化落地的思考 646
第22章 Service Mesh 647
22.1 Service Mesh在微服務中的應用 648
22.1.1 Service Mesh引領微服務新時代 648
22.1.2 Istio的誕生和興起 649
22.1.3 Service Mesh在大廠中的應用 650
22.2 從BoofInfo樣例起步 650
22.2.1 異構應用的網(wǎng)絡互通 650
22.2.2 應用拓撲監(jiān)控 653
22.2.3 應用藍綠發(fā)布 656
22.2.4 Service Mesh感受分享 657
22.3 了解Istio架構 657
22.3.1 Istio工作原理和整體架構 657
22.3.2 Proxy模塊 658
22.3.3 Istiod模塊 659
22.4 服務治理 659
22.4.1 服務治理的整體思路 659
22.4.2 灰度發(fā)布 660
22.4.3 故障注入 663
22.4.4 數(shù)據(jù)流鏡像 666
22.4.5 服務熔斷 668
22.4.6 服務網(wǎng)關 669
22.5 服務安全 671
22.5.1 服務安全整體思路 671
22.5.2 mTLS雙向認證加密 672
22.5.3 基于mTLS的用戶授權 673
22.5.4 JWT用戶認證授權 675
22.6 服務監(jiān)控 677
22.6.1 服務監(jiān)控整體思路 677
22.6.2 Prometheus Grafana性能監(jiān)控 677
22.6.3 Jaeger服務追蹤 679
22.7 【優(yōu)惠券項目落地】——非侵入式容器進階態(tài) 680
22.7.1 激活Service Mesh 680
22.7.2 透明授權驗證 681
22.7.3 無埋點應用拓撲管理 685
22.7.4 優(yōu)惠券項目容器化落地思考 685
 

本目錄推薦

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