服務發現 | 服務治理 | 註冊中心
將全部微服務註冊到一個Server上,而後經過心跳進行服務健康監測。這樣服務A調用服務B能夠經過註冊中心獲取服務B的地址、端口調用html
- Eureka - Eureka 提供雲端服務發現,一個基於 REST 的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移
- Spring Cloud Zookeeper - Spring Cloud Zookeeper 操做Zookeeper的工具包,用於使用zookeeper方式的服務發現和配置管理
- Consul - Consul 是一個服務發現與配置工具,與Docker容器能夠無縫集成
服務調用
HTTP 客戶端
- restTemplate - Spring Web RestTemplate 是同步客戶端執行HTTP請求,在底層HTTP客戶端庫上公開簡單的模板方法API,類使於JDK HttpURLConnection、Feign等
- Feign - Feign 使Java編寫HTTP客戶端更加簡單
restTemplate和Feign均可以配合Ribbon提供負載均衡java
負載均衡
- Ribbon - Ribbon 提供雲端負載均衡,有多種負載均衡策略可供選擇
熔斷器
- Hystrix - Hystrix 旨在經過熔斷機制控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。
路由網關
- Gateway - Spring Cloud Gateway 旨在提供一種簡單而有效的方式來路由到API,併爲他們提供橫切關注點
- Zuul - Zuul 是在雲平臺上提供動態路由,監控,彈性,安全等邊緣服務的框架
路由網關接受全部的請求,,有着很高的負載,所以它一般是一個集羣。全部的請求都hui先通過一層負載均衡被髮到路由網關git
配置管理
- Spring Cloud Config - Spring Cloud Config 配置管理工具包,讓你能夠把配置放到遠程服務器,集中化管理集羣配置,目前支持本地存儲、Git以及Subversion
事件、消息總線
- Spring Cloud Bus - Spring Cloud Bus 事件、消息總線,用於在集羣(例如,配置變化事件)中傳播狀態變化,可與Spring Cloud Config聯合實現熱部署
問題定位 | 鏈路跟蹤
- Spring Cloud Sleuth - Spring Cloud Sleuth 日誌收集工具包,封裝了Dapper和log-based追蹤以及Zipkin和HTrace操做,爲SpringCloud應用實現了一種分佈式追蹤解決方案