Spring Cloud是微服務架構的集大成者,將一系列優秀的組件進行了整合。
服務網關:聚合內部服務,提供統一的對外API接口,屏蔽內部實現。可以解決跨域、認證和前端調用負責的問題,便於項目重構。可以使用Spring Cloud Zuul和Spring Cloud Gateway實現。
服務發現:實現各個服務實例的自動化注冊與發現。解決 [服務消費者] 直接調用 [服務提供者] 這種硬編碼方式后期的巨大維護成本。可以使用Spring Cloud Eureka和Spring Cloud Consul實現。
服務消費:調用服務提供者。幫我們更加便捷、優雅的調用Http Api。可以使用Spring Cloud Feign實現。
負載均衡:提供負載均衡算法,例如輪詢。通過負載均衡來實現系統的高可用、集群擴容等功能。可以使用Spring Cloud Ribbon實現。
服務容錯:微服務中很多服務互相依賴,其中一個故障會導致整個系統不可用。提供服務熔斷保護,相當於電路中的保險絲。可以使用Spring Cloud Hystrix實現。
服務監控:服務狀態的實時監控。可以使用Hystrix Dashboard監控單個應用內的服務信息,Spring Cloud Turbine匯總多個服務的數據。
鏈路追蹤:前端一個接口請求,需要調用后端多次服務,整個請求出現問題時,快速定位服務的故障點。可以使用Spring Cloud Sleuth和ZipKin實現。
服務配置:集中管理配置,可以使用Spring Cloud Config、Apollo等實現。
消息總線:自動刷新服務配置,可以使用Spring Cloud Bus實現。
圖片僅供參考