微服務所需組件(大部分是Spring Cloud,持續更新)

服務發現 | 服務治理 | 註冊中心

將全部微服務註冊到一個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應用實現了一種分佈式追蹤解決方案
相關文章
相關標籤/搜索