閱讀閱讀公眾號作者macrozheng的文章:http://www.macrozheng.com/#/cloud/springcloud
整體架構(gòu)
集中配置管理工具蕊连,分布式系統(tǒng)中統(tǒng)一的外部配置管理常挚,默認(rèn)使用Git來存儲配置埃难,可以支持客戶端配置的刷新及加密瓣喊、解密操作睡腿。
包括Eureka、Hystrix、Ribbon譬涡、Feign、Zuul等核心組件料皇。
Eureka:服務(wù)注冊谓松、治理組件,包括服務(wù)端的注冊中心和客戶端的服務(wù)發(fā)現(xiàn)機(jī)制践剂;支持添加認(rèn)證鬼譬,提高系統(tǒng)安全性;
Ribbon:負(fù)載均衡的服務(wù)調(diào)用組件逊脯,支持多種負(fù)載均衡調(diào)用策略优质,具體通過robbin.NFLoadBalancerRuleClassNam指定;
Hystrix:服務(wù)容錯(cuò)組件军洼,實(shí)現(xiàn)斷路器模式巩螃,為依賴服務(wù)的出錯(cuò)和延遲提供容錯(cuò)能力;@HystrixCommand注解支持:忽略對指定異常類型的容錯(cuò)匕争,使能緩存避乏、刪除緩存等操作;@HystrixCollapser注解支持:請求合并等甘桑,降低系統(tǒng)性能開銷拍皮;
OpenFeign:基于Ribbon和Hystrix的聲明式服務(wù)調(diào)用組件歹叮,集成Robbin及Hystrix的負(fù)載均衡及服務(wù)容錯(cuò)的相關(guān)功能(比較推薦)
Zuul:API網(wǎng)關(guān)組件,對請求提供路由及過濾功能铆帽。路由功能負(fù)責(zé)將外部請求轉(zhuǎn)發(fā)到具體的服務(wù)實(shí)例上去咆耿,是實(shí)現(xiàn)統(tǒng)一訪問入口的基礎(chǔ);過濾功能負(fù)責(zé)對請求過程進(jìn)行額外的處理爹橱,是請求校驗(yàn)過濾及服務(wù)聚合的基礎(chǔ)萨螺。同時(shí)由于Zuul自動(dòng)集成了Ribbon和Hystrix,所以Zuul具有負(fù)載均衡和服務(wù)容錯(cuò)能力宅荤,可以通過Ribbon和Hystrix的配置來配置Zuul中的相應(yīng)功能(比較推薦)
用于傳播集群狀態(tài)變化的消息總線屑迂,使用輕量級消息代理鏈接分布式系統(tǒng)中的節(jié)點(diǎn),可以用來動(dòng)態(tài)刷新集群中的服務(wù)配置冯键。主要支持Apache Kafka及RabbitMQ
基于Hashicorp Consul的服務(wù)治理組件惹盼。
安全工具包,對Zuul代理中的負(fù)載均衡OAuth2客戶端及登錄認(rèn)證進(jìn)行支持惫确。
應(yīng)用程序的分布式請求鏈路跟蹤手报,支持使用Zipkin和基于日志的跟蹤。結(jié)合ES進(jìn)行日跟蹤信息的持久化存儲
API網(wǎng)關(guān)組件改化,對請求提供路由及過濾功能掩蛤,與Zuul類似
附加文章
Spring Cloud Eureka:服務(wù)注冊與發(fā)現(xiàn)
Spring Cloud Ribbon:負(fù)載均衡的服務(wù)調(diào)用
Spring Cloud Hystrix:服務(wù)容錯(cuò)保護(hù)
Hystrix Dashboard:斷路器執(zhí)行監(jiān)控
Spring Cloud OpenFeign:基于Ribbon和Hystrix的聲明式服務(wù)調(diào)用
Spring Cloud Zuul:API網(wǎng)關(guān)服務(wù)
Spring Cloud Consul:服務(wù)治理與配置中心
Spring Cloud Gateway:新一代API網(wǎng)關(guān)服務(wù)
Spring Boot Admin:微服務(wù)應(yīng)用監(jiān)控
Spring Cloud Security:Oauth2使用入門
Spring Cloud Security:Oauth2結(jié)合JWT使用
Spring Cloud Security:Oauth2實(shí)現(xiàn)單點(diǎn)登錄
Spring Cloud Alibaba:Nacos 作為注冊中心和配置中心使用