關(guān)于我們
書單推薦
新書推薦
|
Spring Cloud微服務(wù)架構(gòu)實(shí)戰(zhàn)派 讀者對象:本書適合具備Java基礎(chǔ)的開發(fā)人員、對微服務(wù)架構(gòu)和Spring Cloud感興趣的讀者、了解Spring或Spring Boot的開發(fā)人員自學(xué)之用。
本書針對Spring Cloud 2.0及以上版本。在編寫過程中,不僅考慮到企業(yè)任職所需的技能,還考慮到求職面試時可能會遇到的知識點(diǎn)。本書采用“知識點(diǎn)+實(shí)例”形式編寫,共有“39個基于知識點(diǎn)的實(shí)例 + 1個綜合性項(xiàng)目”,深入講解了Spring Cloud的各類組件、微服務(wù)架構(gòu)的解決方案和開發(fā)實(shí)踐,以及容器、Kubernetes和Jenkins等DevOps(開發(fā)運(yùn)維一體化)相關(guān)知識。本書的主脈絡(luò)是:是什么,為什么用,怎樣用,為什么要這樣用,如何用得更好,有什么最佳的實(shí)踐。
龍中華,擁有10多年一線企業(yè)開發(fā)經(jīng)驗(yàn)。對多種技術(shù)有深入了解和研究,致力于用技術(shù)為公司業(yè)務(wù)創(chuàng)造利潤。曾在多家公司擔(dān)任主程序員和系統(tǒng)架構(gòu)師,現(xiàn)就職于某大數(shù)據(jù)研究機(jī)構(gòu),擔(dān)任技術(shù)顧問。
-------------第1篇 入門
- 第1章 進(jìn)入微服務(wù)世界 2 1.1 系統(tǒng)架構(gòu)的發(fā)展階段 2 |1.1.1 單體應(yīng)用階段 2 |1.1.2 垂直應(yīng)用階段 3 |1.1.3 分布式系統(tǒng)階段 4 |1.1.4 服務(wù)治理階段 5 |1.1.5 微服務(wù)階段 6 |1.1.6 服務(wù)網(wǎng)格階段 6 1.2 主流的微服務(wù)框架 8 |1.2.1 主流微服務(wù)框架一覽表 8 |1.2.2 Dubbo 9 |1.2.3 Spring Cloud 10 1.3 服務(wù)網(wǎng)格(Service Mesh)框架Istio 11 1.4 比較Dubbo、Spring Cloud和Istio 12 |1.4.1 對比架構(gòu) 12 |1.4.2 對比各項(xiàng)數(shù)據(jù) 15 |1.4.3 總結(jié) 15 - 第2章 準(zhǔn)備開發(fā)環(huán)境和工具 17 2.1 搭建環(huán)境 17 |2.1.1 安裝Java開發(fā)環(huán)境JDK 17 |2.1.2 配置JDK的環(huán)境變量 18 2.2 安裝和配置Maven 20 |2.2.1 安裝和配置 20 |2.2.2 認(rèn)識pom.xml文件 22 |2.2.3 了解Maven的運(yùn)作方式 25 |2.2.4 配置國內(nèi)倉庫 26 2.3 安裝及配置開發(fā)工具IDEA 27 |2.3.1 安裝IDEA 27 |2.3.2 配置IDEA的Maven環(huán)境 29 |2.3.3 安裝Spring Assistant插件 29 2.4 安裝及配置開發(fā)工具Eclipse 30 |2.4.1 安裝Eclipse 30 |2.4.2 安裝Spring Tools 4插件 30 |2.4.3 配置Eclipse的Maven環(huán)境 31 |2.4.4 創(chuàng)建Spring Cloud項(xiàng)目 32 2.5 熟悉Spring官方開發(fā)工具STS 32 2.6 如何使用本書源碼 33 |2.6.1 在IDEA中使用 33 |2.6.2 在Eclipse(STS)中使用 33 - 第3章 實(shí)例1:用Spring Cloud實(shí)現(xiàn)一個微服務(wù)系統(tǒng) 35 3.1 本實(shí)例的架構(gòu)和實(shí)現(xiàn)步驟 35 3.2 創(chuàng)建Spring Cloud項(xiàng)目 36 3.3 用Eureka實(shí)現(xiàn)“服務(wù)中心” 37 |3.3.1 添加配置 37 |3.3.2 實(shí)現(xiàn)“服務(wù)中心”集群(滿足高可用) 38 |3.3.3 打包和部署“服務(wù)中心” 40 3.4 用Eureka實(shí)現(xiàn)“服務(wù)提供者” 42 |3.4.1 實(shí)現(xiàn)“服務(wù)提供者”的客戶端 42 |3.4.2 實(shí)現(xiàn)“服務(wù)提供者”的接口 44 |3.4.3 檢查服務(wù)的有效性 44 |3.4.4 實(shí)現(xiàn)“服務(wù)提供者”集群 44 3.5 用Feign實(shí)現(xiàn)“服務(wù)消費(fèi)者” 45 |3.5.1 用Feign實(shí)現(xiàn)“服務(wù)消費(fèi)者”的客戶端 45 |3.5.2 調(diào)用“服務(wù)提供者”的接口 46 3.6 測試微服務(wù)系統(tǒng) 48 - -------------第2篇 基礎(chǔ) - 第4章 認(rèn)識微服務(wù) 50 4.1 微服務(wù)的優(yōu)點(diǎn)和缺點(diǎn) 50 |4.1.1 微服務(wù)的優(yōu)點(diǎn) 50 |4.1.2 微服務(wù)的缺點(diǎn) 52 4.2 微服務(wù)設(shè)計(jì)的原則 53 4.3 領(lǐng)域驅(qū)動設(shè)計(jì)(DDD) 56 4.4 跨服務(wù)的事務(wù)管理模式 57 |4.4.1 2PC/3PC算法模式 58 |4.4.2 TCC事務(wù)機(jī)制模式 60 |4.4.3 消息中間件模式 60 |4.4.4 Saga模式 61 |4.4.5 Paxos算法模式 61 4.5 跨服務(wù)的查詢模式 62 |4.5.1 API組合器模式 62 |4.5.2 CQRS模式 62 4.6 微服務(wù)部署 63 |4.6.1 部署模式 63 |4.6.2 升級模式 64 4.7 微服務(wù)架構(gòu)與云原生的關(guān)系 66 |4.7.1 了解云原生 66 |4.7.2 微服務(wù)架構(gòu)和云原生架構(gòu)的區(qū)別 67 - 第5章 Spring Cloud基礎(chǔ) 68 5.1 了解Spring Cloud生態(tài) 68 |5.1.1 Spring Cloud的總體架構(gòu) 68 |5.1.2 主要子項(xiàng)目 69 |5.1.3 Netflix家族項(xiàng)目 70 |5.1.4 阿里巴巴家族項(xiàng)目 71 |5.1.5 其他子項(xiàng)目 72 |5.1.6 常用的技術(shù)棧 73 5.2 了解Spring Cloud 74 |5.2.1 Spring Cloud與Spring、Spring Boot的關(guān)系 74 |5.2.2 Spring Cloud的版本 76 |5.2.3 Spring Cloud項(xiàng)目的結(jié)構(gòu) 77 |5.2.4 Spring Cloud的入口類 78 |5.2.5 Spring Cloud的自動配置 78 |5.2.6 開箱即用 79 5.3 了解注解 80 |5.3.1 什么是注解 80 |5.3.2 Spring Boot的系統(tǒng)注解 80 |5.3.3 Spring Boot的常用注解 81 |5.3.4 Spring Cloud的常用注解 86 5.4 了解Starter 87 |5.4.1 Spring Boot的Starter 87 |5.4.2 Spring Cloud的Starter 88 |5.4.3 如何使用Starter 88 5.5 使用配置文件 88 |5.5.1 配置文件application.properties 89 |5.5.2 實(shí)例2:使用配置文件application.properties 91 |5.5.3 配置文件application.yml 93 |5.5.4 實(shí)例3:使用配置文件application.yml 94 |5.5.5 實(shí)例4:用application.yml和application.properties配置多環(huán)境 98 |5.5.6 了解application.yml和application.properties的遷移 100 |5.5.7 比較配置文件bootstrap和application 100 5.6 應(yīng)用程序分層開發(fā)模式——MVC 101 |5.6.1 了解MVC模式 101 |5.6.2 MVC和三層架構(gòu)的關(guān)系 102 5.7 響應(yīng)式編程——WebFlux 103 |5.7.1 什么是WebFlux 103 |5.7.2 比較MVC和WebFlux 103 |5.7.3 比較Mono和Flux 105 |5.7.4 開發(fā)WebFlux的流程 106 5.8 了解Spring Cloud Commons 106 |5.8.1 Spring Cloud的上下文 107 |5.8.2 Spring Cloud的公共抽象類 107 - -------------第3篇 進(jìn)階 - 第6章 用Consul實(shí)現(xiàn)服務(wù)治理 110 6.1 為什么需要服務(wù)治理 110 6.2 主流的“服務(wù)中心” 111 |6.2.1 Eureka 111 |6.2.2 Zookeeper 112 |6.2.3 ETCD 113 |6.2.4 Consul 113 |6.2.5 比較Eureka、Consul、ETCD、Zookeeper和Nacos 114 |6.2.6 了解CAP(一致性、可用性、分區(qū)容錯性) 115 |6.2.7 在容器化時代如何選擇“服務(wù)中心” 115 6.3 認(rèn)識“服務(wù)發(fā)現(xiàn)”接口 116 |6.3.1 如何進(jìn)行服務(wù)的注冊和發(fā)現(xiàn) 116 |6.3.2 @EnableDiscoveryClient與@EnableEurekaClient的區(qū)別 117 6.4 認(rèn)識Consul 117 |6.4.1 Consul的術(shù)語 117 |6.4.2 Consul的工作原理 118 |6.4.3 集群的實(shí)現(xiàn)原理 119 |6.4.4 健康檢查 120 |6.4.5 安裝和實(shí)現(xiàn)Consul集群 122 |6.4.6 在Linux中構(gòu)建Consul集群 124 6.5 實(shí)例5:用Consul實(shí)現(xiàn)“服務(wù)提供者”集群和“服務(wù)消費(fèi)者” 125 |6.5.1 實(shí)現(xiàn)“服務(wù)提供者”集群 126 |6.5.2 實(shí)現(xiàn)“服務(wù)消費(fèi)者” 128 6.6 將“服務(wù)中心”從Eureka遷移到Consul 129 - 第7章 用Ribbon和Feign實(shí)現(xiàn)客戶端負(fù)載均衡和服務(wù)調(diào)用 130 7.1 認(rèn)識負(fù)載均衡 130 |7.1.1 服務(wù)器端負(fù)載均衡 130 |7.1.2 客戶端負(fù)載均衡 131 7.2 認(rèn)識Ribbon 131 |7.2.1 Ribbon的工作原理 131 |7.2.2 Ribbon的主要組件 132 |7.2.3 認(rèn)識負(fù)載均衡器 133 |7.2.4 了解注解@LoadBalanced 135 |7.2.5 Ping機(jī)制 136 7.3 認(rèn)識負(fù)載均衡策略 137 |7.3.1 Ribbon支持的9大負(fù)載均衡策略 137 |7.3.2 實(shí)例6:自定義負(fù)載均衡策略 139 7.4 實(shí)例7:在沒有“服務(wù)中心”的情況下,實(shí)現(xiàn)自維護(hù)的客戶端負(fù)載均衡 141 |7.4.1 添加依賴和配置,并啟用客戶端負(fù)載均衡 142 |7.4.2 編寫負(fù)載均衡控制器 143 |7.4.3 測試客戶端負(fù)載均衡 143 7.5 了解Feign 143 |7.5.1 Feign簡介 143 |7.5.2 了解Feign的Bean 144 |7.5.3 壓縮請求和響應(yīng) 145 |7.5.4 了解注解@QueryMap 145 |7.5.5 使用Feign 146 7.6 實(shí)例8:覆蓋Feign的默認(rèn)配置 147 |7.6.1 添加依賴和配置,并啟用支持 147 |7.6.2 自定義Feign的配置 147 |7.6.3 自定義Feign的接口 148 7.7 實(shí)例9:實(shí)現(xiàn)在Feign中記錄日志 148 |7.7.1 添加配置項(xiàng) 148 |7.7.2 設(shè)置記錄日志等級 149 |7.7.3 實(shí)現(xiàn)接口類 149 |7.7.4 實(shí)現(xiàn)調(diào)用接口 149 7.8 用Feign構(gòu)建多參數(shù)請求 150 |7.8.1 用GET方式構(gòu)建多參數(shù)請求 150 |7.8.2 用POST方式構(gòu)建多參數(shù)請求 150 7.9 Ribbon和Feign的區(qū)別 151 - 第8章 用Hystrix實(shí)現(xiàn)容錯處理 152 8.1 雪崩效應(yīng) 152 |8.1.1 什么是雪崩效應(yīng) 152 |8.1.2 造成服務(wù)雪崩的原因 153 8.2 主流的容錯項(xiàng)目 155 |8.2.1 流量防衛(wèi)兵Sentinel 155 |8.2.2 容錯框架Resilience4j 156 |8.2.3 容錯框架Hystrix 156 |8.2.4 對比Sentinel、Hystrix和Resilience4j 157 8.3 Hystrix處理容錯的機(jī)制 157 |8.3.1 熔斷機(jī)制 157 |8.3.2 隔離機(jī)制 158 |8.3.3 降級機(jī)制 160 |8.3.4 緩存機(jī)制 160 8.4 實(shí)例10:在Feign中用Hystrix實(shí)現(xiàn)服務(wù)調(diào)用的容錯 160 |8.4.1 了解Feign對Hystrix的支持 161 |8.4.2 添加依賴和配置,并啟用支持 162 |8.4.3 實(shí)現(xiàn)回調(diào)類 163 |8.4.4 添加fallback屬性 163 |8.4.5 測試fallback狀態(tài) 163 8.5 實(shí)例11:用Hystrix Dashboard實(shí)現(xiàn)數(shù)據(jù)的可視化監(jiān)控 163 |8.5.1 添加依賴和配置 164 |8.5.2 配置啟動類和Servlet 165 |8.5.3 查看監(jiān)控?cái)?shù)據(jù) 165 8.6 實(shí)例12:用Turbine聚合監(jiān)控?cái)?shù)據(jù) 166 |8.6.1 添加依賴并啟用支持 166 |8.6.2 創(chuàng)建多個“服務(wù)消費(fèi)者” 167 |8.6.3 配置多監(jiān)控點(diǎn) 167 |8.6.4 啟動并測試聚合監(jiān)控 168 - 第9章 用Spring Cloud Gateway構(gòu)建微服務(wù)網(wǎng)關(guān) 169 9.1 認(rèn)識微服務(wù)網(wǎng)關(guān) 169 |9.1.1 什么是微服務(wù)網(wǎng)關(guān) 169 |9.1.2 為什么要使用微服務(wù)網(wǎng)關(guān) 169 |9.1.3 認(rèn)識Spring Cloud Gateway 170 |9.1.4 Spring Cloud Gateway的工作流程 171 |9.1.5 比較Zuul與Spring Cloud Gateway 172 9.2 路由(Route) 173 |9.2.1 認(rèn)識路由的謂詞接口和謂詞工廠 173 |9.2.2 認(rèn)識配置路由規(guī)則的方式 173 |9.2.3 實(shí)例13:用Java API和配置文件方式構(gòu)建路由 175 |9.2.4 實(shí)例14:應(yīng)用Spring Cloud Gateway的11種路由規(guī)則 176 |9.2.5 實(shí)例15:測試多種路由規(guī)則匹配優(yōu)先級 181 |9.2.6 實(shí)例16:將網(wǎng)關(guān)注冊到“服務(wù)中心”,實(shí)現(xiàn)服務(wù)轉(zhuǎn)發(fā) 183 9.3 過濾器(Filter) 184 |9.3.1 過濾器的基本知識 184 |9.3.2 網(wǎng)關(guān)過濾器(GatewayFilter) 184 |9.3.3 全局過濾器(GlobalFilter) 186 |9.3.4 實(shí)例17:用AddRequestHeader過濾器工廠給請求添加Header參數(shù) 189 9.4 實(shí)例18:實(shí)現(xiàn)路由容錯 190 |9.4.1 處理未定義的路由 190 |9.4.2 用Hystrix處理路由熔斷 191 9.5 限流 193 |9.5.1 為什么要限流 193 |9.5.2 常見的限流措施 193 |9.5.3 限流算法 194 |9.5.4 實(shí)例19:用Spring Cloud Gateway內(nèi)置的限流工廠實(shí)現(xiàn)限流 195 9.6 高可用 197 9.7 Spring Cloud Gateway的端點(diǎn) 197 |9.7.1 認(rèn)識Spring Cloud Gateway的端點(diǎn) 197 |9.7.2 實(shí)例20:通過Spring Cloud Gateway的端點(diǎn)添加動態(tài)路由 198 - 第10章 用Spring Cloud Sleuth實(shí)現(xiàn)微服務(wù)鏈路跟蹤 200 10.1 微服務(wù)鏈路跟蹤 200 |10.1.1 為什么要實(shí)現(xiàn)微服務(wù)鏈路跟蹤 200 |10.1.2 微服務(wù)鏈路跟蹤的技術(shù)要求 201 10.2 一些開源的鏈路跟蹤項(xiàng)目——Skywalking、Pinpoint、Zipkin和CAT 202 10.3 認(rèn)識Sleuth和Zipkin 203 |10.3.1 Sleuth 203 |10.3.2 Zipkin 203 10.4 實(shí)例21:用Sleuth實(shí)現(xiàn)日志采樣 204 10.5 實(shí)例22:在Spring Cloud中使用Zipkin 205 |10.5.1 搭建Zipkin服務(wù)器 205 |10.5.2 添加依賴和配置 206 |10.5.3 測試鏈路數(shù)據(jù) 207 - 第11章 用Spring Cloud Config配置微服務(wù) 209 11.1 了解配置中心 209 |11.1.1 配置信息的管理方式 209 |11.1.2 對比主流配置中心 211 |11.1.3 了解Spring Cloud Config 212 |11.1.4 Spring Cloud Config的常用配置 213 11.2 設(shè)置配置中心的安全 214 11.3 加/解密配置文件 215 |11.3.1 實(shí)例23:用對稱加密方式加/解密配置文件 215 |11.3.2 實(shí)例24:用非對稱加密方式加/解密配置文件 217 11.4 實(shí)例25:用Git配置“配置服務(wù)器” 220 |11.4.1 在Git倉庫中創(chuàng)建配置文件 220 |11.4.2 添加配置中心的依賴和配置,并啟用支持 220 |11.4.3 讀取配置信息 221 11.5 實(shí)例26:從客戶端獲取“配置服務(wù)器”放置在Git倉庫中的配置文件 222 |11.5.1 添加依賴和配置 222 |11.5.2 創(chuàng)建用來獲取配置的控制器 223 |11.5.3 測試獲取到的數(shù)據(jù) 223 11.6 實(shí)例27:用Spring Cloud Bus自動刷新配置信息 224 |11.6.1 Spring Cloud Bus簡介 224 |11.6.2 添加服務(wù)器端的依賴和配置,并啟用支持 224 |11.6.3 添加客戶端的依賴和配置,并啟用支持 225 |11.6.4 啟動并刷新客戶端的配置 227 |11.6.5 實(shí)現(xiàn)配置的自動刷新 228 |11.6.6 局部刷新客戶端的配置信息 229 |11.6.7 跟蹤Bus事件 229 11.7 實(shí)例28:實(shí)現(xiàn)配置中心和配置客戶端的服務(wù)化 230 |11.7.1 實(shí)現(xiàn)服務(wù)器端服務(wù)化 230 |11.7.2 實(shí)現(xiàn)客戶端服務(wù)化 231 - 第12章 用Spring Cloud Alibaba組件實(shí)現(xiàn)服務(wù)治理和流量控制 232 12.1 認(rèn)識Spring Cloud Alibaba組件 232 |12.1.1 Spring Cloud Alibaba是什么 232 |12.1.2 Spring Cloud Alibaba、Netflix和Spring Cloud的關(guān)系 233 |12.1.3 Spring Cloud Alibaba與Spring Boot、Spring Cloud的版本兼容關(guān)系 234 12.2 認(rèn)識Sentinel 235 |12.2.1 Sentinel概述 235 |12.2.2 安裝和啟動Sentinel 239 |12.2.3 認(rèn)識流控規(guī)則 239 |12.2.4 降級規(guī)則 241 |12.2.5 系統(tǒng)規(guī)則 241 |12.2.7 Sentinel對RestTemplate和Feign的支持 242 |12.2.8 Sentinel的規(guī)則持久化 243 12.3 用Sentinel實(shí)現(xiàn)Spring Cloud項(xiàng)目的流控和降級 244 |12.3.1 實(shí)例29:實(shí)現(xiàn)直接限流 244 |12.3.2 實(shí)例30:實(shí)現(xiàn)關(guān)聯(lián)限流 246 |12.3.3 實(shí)例31:實(shí)現(xiàn)鏈路限流 247 |12.3.4 測試流控模式 249 |12.3.5 測試降級模式 250 12.4 認(rèn)識Nacos 251 |12.4.1 Nacos概述 251 |12.4.2 下載和使用Nacos 251 12.5 實(shí)例32:用Nacos實(shí)現(xiàn)“服務(wù)提供者”和“服務(wù)消費(fèi)者” 252 |12.5.1 用Nacos實(shí)現(xiàn)“服務(wù)提供者” 252 |12.5.2 用Nacos實(shí)現(xiàn)“服務(wù)消費(fèi)者” 253 |12.5.3 測試服務(wù)接口 254 12.6 實(shí)例33:用Nacos實(shí)現(xiàn)“配置中心” 254 |12.6.1 添加依賴和配置 255 |12.6.2 創(chuàng)建屬性承載類 255 |12.6.3 在Nacos控制臺中添加配置 255 12.6.4 測試動態(tài)刷新 256 12.6.5 測試配置回滾 257 12.7 實(shí)例34:用Nacos存儲Sentinel的限流規(guī)則 257 |12.7.1 添加依賴和配置 257 |12.7.2 自定義埋點(diǎn) 258 |12.7.3 添加Nacos配置 258 |12.7.4 測試配置的持久化 259 12.8 實(shí)例35:實(shí)現(xiàn)Nacos的數(shù)據(jù)持久化和集群 260 |12.8.1 實(shí)現(xiàn)Nacos的數(shù)據(jù)持久化 260 |12.8.2 部署集群 261 - 第13章 用Spring Cloud Security實(shí)現(xiàn)微服務(wù)安全 264 13.1 認(rèn)識Spring Security與Spring Cloud Security 264 |13.1.1 Spring Security 264 |13.1.2 Spring Cloud Security 266 13.2 認(rèn)識OAuth 2.0 267 |13.2.1 OAuth 2.0概述 267 |13.2.2 客戶端的授權(quán)模式 268 13.3 Spring Cloud Security如何實(shí)現(xiàn)OAuth 2.0 273 |13.3.1 認(rèn)識Oauth 2.0服務(wù)提供端 273 |13.3.2 配置授權(quán)服務(wù)器 274 |13.3.3 配置資源服務(wù)器 276 13.4 實(shí)例36:用Spring Security實(shí)現(xiàn)安全認(rèn)證和授權(quán) 276 |13.4.1 添加依賴和配置數(shù)據(jù)庫 276 |13.4.2 創(chuàng)建用戶實(shí)體類 277 |13.4.3 實(shí)現(xiàn)用戶注冊和密碼加密 278 |13.4.4 自定義認(rèn)證管理器 279 |13.4.5 實(shí)現(xiàn)Spring Security配置類 279 |13.4.6 實(shí)現(xiàn)登錄驗(yàn)證成功處理類 280 |13.4.7 實(shí)現(xiàn)登錄驗(yàn)證失敗處理類 281 |13.4.8 測試注冊和登錄 281 13.5 實(shí)例37:用OAuth 2.0實(shí)現(xiàn)認(rèn)證和授權(quán) 282 |13.5.1 添加OAuth 2.0的依賴 282 |13.5.2 配置認(rèn)證服務(wù)器 282 |13.5.3 配置資源服務(wù)器 284 |13.5.4 實(shí)現(xiàn)用戶實(shí)體類和角色映射 284 |13.5.5 實(shí)現(xiàn)角色實(shí)體類 285 |13.5.6 實(shí)現(xiàn)測試控制器 286 |13.5.7 測試用密碼模式獲取Token 286 |13.5.8 測試攜帶Token訪問資源 288 |13.5.9 測試用授權(quán)碼模式獲得Token 288 13.6 實(shí)例38:用MySQL實(shí)現(xiàn)Token信息的持久化 290 13.7 實(shí)例39:用Redis實(shí)現(xiàn)Token信息的持久化 292 - -------------第4篇 項(xiàng)目實(shí)戰(zhàn) - 第14章 實(shí)例40:用Spring Cloud實(shí)現(xiàn)頁面日訪問量3000萬的某平臺微服務(wù)架構(gòu) 296 14.1 本實(shí)例的整體架構(gòu) 296 |14.1.1 實(shí)施方案 296 |14.1.2 整體架構(gòu) 297 14.2 實(shí)現(xiàn)“配置中心”以提供配置信息 297 |14.2.1 創(chuàng)建配置文件,并將其上傳到Git倉庫中 297 |14.2.2 編寫“配置服務(wù)器”的信息 298 14.3 實(shí)現(xiàn)“服務(wù)提供者”集群、“服務(wù)消費(fèi)者”及客戶端自動配置 298 |14.3.1 實(shí)現(xiàn)“服務(wù)提供者”集群 298 |14.3.2 實(shí)現(xiàn)“服務(wù)消費(fèi)者”,并通過“配置中心”實(shí)現(xiàn)客戶端的自動配置 299 14.4 用OAuth 2.0實(shí)現(xiàn)統(tǒng)一的認(rèn)證和授權(quán) 301 |14.4.1 實(shí)現(xiàn)認(rèn)證服務(wù)器 301 |14.4.2 配置“服務(wù)消費(fèi)者”的資源安全 301 14.5 在Spring Cloud中用“Redis+MySQL”實(shí)現(xiàn)路由服務(wù)器 302 |14.5.1 整體思路 302 |14.5.2 設(shè)計(jì)并實(shí)現(xiàn)自定義路由模型 303 |14.5.3 實(shí)現(xiàn)路由信息和版本信息實(shí)體 303 |14.5.4 實(shí)現(xiàn)路由和版本的控制器 304 |14.5.5 實(shí)現(xiàn)路由服務(wù)器的服務(wù)化 306 14.6 用Spring Cloud Gateway實(shí)現(xiàn)網(wǎng)關(guān)集群 306 |14.6.1 同步路由信息 306 |14.6.2 轉(zhuǎn)換路由對象 308 |14.6.3 開啟計(jì)劃任務(wù)和負(fù)載均衡 308 |14.6.4 實(shí)現(xiàn)網(wǎng)關(guān)的服務(wù)化 309 14.7 用Nginx實(shí)現(xiàn)負(fù)載均衡 309 |14.7.1 認(rèn)識Nginx 309 |14.7.2 實(shí)現(xiàn)網(wǎng)關(guān)負(fù)載均衡 312 |14.7.3 實(shí)現(xiàn)Nginx自身負(fù)載均衡 313 14.8 用Spring Boot Admin監(jiān)控Spring Cloud應(yīng)用程序 314 |14.8.1 集成Actuator 314 |14.8.2 集成Spring Boot admin以監(jiān)控應(yīng)用 316 14.9 集成“Prometheus+Grafana”以監(jiān)控服務(wù) 319 |14.9.1 安裝和配置Prometheus 319 |14.9.2 在Spring Cloud中集成Prometheus 321 |14.9.3 用Grafana實(shí)現(xiàn)可視化監(jiān)控 322 - -------------第5篇 開發(fā)運(yùn)維一體化(DevOps) - 第15章 基于Docker、K8s、Jenkins的DevOps實(shí)踐 324 15.1 認(rèn)識DevOps 324 |15.1.1 軟件開發(fā)的演變過程 324 |15.1.2 認(rèn)識DevOps 326 |15.1.3 開發(fā)模式的關(guān)系 327 |15.1.4 為什么要踐行DevOps 328 |15.1.5 了解DevOps工具 329 15.2 認(rèn)識Docker 332 |15.2.1 認(rèn)識虛擬機(jī)和容器 332 |15.2.2 什么是Docker 334 |15.2.3 Docker的特點(diǎn) 335 |15.2.4 Docker的基本概念 335 15.3 使用Docker 337 |15.3.1 在Linux中安裝Docker 337 |15.3.2 在Windows中安裝Docker 338 |15.3.3 配置國內(nèi)鏡像加速器 338 |15.3.4 Docker的常用操作 340 15.4 用Docker Compose管理容器 342 |15.4.1 了解Docker Compose工具 342 |15.4.2 安裝Docker Compose工具 342 |15.4.3 用Docker Compose工具運(yùn)行容器 344 15.5 管理鏡像 344 |15.5.1 用Docker Hub管理鏡像 344 |15.5.2 創(chuàng)建私有倉庫 345 15.6 認(rèn)識Docker Swarm、Kubernetes(K8s)和Jenkins 345 |15.6.1 Docker Swarm 345 |15.6.2 Kubernetes(K8s) 347 |15.6.3 Jenkins 349 |15.6.4 比較Docker、Compose、Swarm、K8s和Jenkins 350
你還可能感興趣
我要評論
|