從上圖可以看出 Spring Cloud 各個組件相互配合,合作支持了一套完整的微服務架構:
Eureka 負責服務的注冊與發現,很好地將各服務連接起來。
Hystrix 負責監控服務之間的調用情況,連續多次失敗進行熔斷保護。
Hystrix dashboard,Turbine 負責監控 Hystrix 的熔斷情況,並給予圖形化的展示。
Spring Cloud Config 提供了統一的配置中心服務。
當配置文件發生變化的時候,Spring Cloud Bus 負責通知各服務去獲取最新的配置信息。
所有對外的請求和服務,我們都通過Zuul來進行轉發,起到 API 網關的作用。
最后我們使用 Sleuth+Zipkin 將所有的請求數據記錄下來,方便我們進行后續分析。
Spring Cloud 從設計之初就考慮了絕大多數互聯網公司架構演化所需的功能,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等。