天天看點

微服務系列-Spring Cloud優質項目推薦Spring Cloud

Spring Cloud

微服務架構集大成者,雲計算最佳業務實踐。

微服務系列-Spring Cloud優質項目推薦Spring Cloud

image.png

Spring Cloud

Spring Cloud Config

Spring

配置管理工具包,讓你可以把配置放到遠端伺服器,集中化管理叢集配置,目前支援本地存儲、Git以及Subversion。

Spring Cloud Bus

Spring

事件、消息總線,用于在叢集(例如,配置變化事件)中傳播狀态變化,可與Spring Cloud Config聯合實作熱部署。

Eureka

Netflix

雲端服務發現,一個基于 REST 的服務,用于定位服務,以實作雲端中間層服務發現和故障轉移。

Eureka Server會提供服務注冊服務,各個服務節點啟動後,會在Eureka Server中進行注冊,這樣Eureka Server中就有了所有服務節點的資訊,并且Eureka有監控頁面,可以在頁面中直覺的看到所有注冊的服務的情況。

Eureka有心跳機制,當某個節點服務在規定時間内沒有發送心跳信号時,Eureka會從服務系統資料庫中把這個服務節點移除。Eureka還提供了用戶端緩存的機制,即使所有的Eureka Server都挂掉,用戶端仍可以利用緩存中的資訊調用服務節點的服務。

Eureka一般配合Ribbon進行使用,Ribbon提供了用戶端負載均衡的功能,Ribbon利用從Eureka中讀取到的服務資訊,在調用服務節點提供的服務時,會合理的進行負載。

Eureka通過心跳檢測、健康檢查、用戶端緩存等機制,保證了系統具有高可用和靈活性。

Hystrix

Netflix

熔斷器,容錯管理工具,旨在通過熔斷機制控制服務和第三方庫的節點,進而對延遲和故障提供更強大的容錯能力。

使用Hystrix實作自動降級與依賴隔離-微服務

Zuul

Netflix

Zuul 是在雲平台上提供動态路由,監控,彈性,安全等邊緣服務的架構。Zuul 相當于是裝置和 Netflix 流應用的 Web 網站後端所有請求的前門。

Netflix Zuul與Nginx 性能對比

Archaius

Netflix

配置管理API,包含一系列配置管理API,提供動态類型化屬性、線程安全配置操作、輪詢架構、回調機制等功能。

archaius是Netflix公司開源項目之一,基于java的配置管理類庫,主要用于多配置存儲的動态擷取。主要功能是對apache common configuration類庫的擴充。在雲平台開發中可以将其用作分布式配置管理依賴構件。

《Netflix Archaius 分布式配置管理依賴構件》

Consul

HashiCorp

封裝了Consul操作,consul是一個服務發現與配置工具,與Docker容器可以無縫內建。

Spring Cloud for Cloud Foundry

Pivotal

通過Oauth2協定綁定服務到CloudFoundry,CloudFoundry是VMware推出的開源PaaS雲平台。

Spring Cloud Sleuth

Spring

日志收集工具包,封裝了Dapper和log-based追蹤以及Zipkin和HTrace操作,為SpringCloud應用實作了一種分布式追蹤解決方案。

Spring Cloud Data Flow

Pivotal

大資料操作工具,作為Spring XD的替代産品,它是一個混合計算模型,結合了流資料與批量資料的處理方式。

Spring Cloud Security

Spring

基于spring security的安全工具包,為你的應用程式添加安全控制。

Spring Cloud Zookeeper

Spring

操作Zookeeper的工具包,用于使用zookeeper方式的服務發現和配置管理。

Spring Cloud Stream

Spring

資料流操作開發包,封裝了與Redis,Rabbit、Kafka等發送接收消息。

Spring Cloud CLI

Spring

基于 Spring Boot CLI,可以讓你以指令行方式快速建立雲元件。

Ribbon

Netflix

提供雲端負載均衡,有多種負載均衡政策可供選擇,可配合服務發現和斷路器使用。

Ribbon 是 Netflix 釋出的雲中間層服務開源項目,其主要功能是提供客戶側軟體負載均衡算法,将 Netflix 的中間層服務連接配接在一起。

特性:

  • Multiple and pluggable load balancing rules
  • Integration with service discovery
  • Built-in failure resiliency
  • Cloud enabled
  • Clients integrated with load balancers
  • Archaius configuration driven client factory

Turbine

Netflix

Turbine是聚合伺服器發送事件流資料的一個工具,用來監控叢集下hystrix的metrics情況。

Feign

OpenFeign

Feign是一種聲明式、模闆化的HTTP用戶端。

通過Feign, 我們能把HTTP遠端調用對開發者完全透明,得到與調用本地方法一緻的編碼體驗。這一點與阿裡Dubbo中暴露遠端服務的方式類似,差別在于Dubbo是基于私有二進制協定,而Feign本質上還是個HTTP用戶端。如果是在用Spring Cloud Netflix搭建微服務,那麼Feign無疑是最佳選擇。

Spring Cloud Task

Spring

提供雲端計劃任務管理、任務排程。

Spring Cloud Connectors

Spring

便于雲端應用程式在各種PaaS平台連接配接到後端,如:資料庫和消息代理服務。

Spring Cloud Cluster

Spring

提供Leadership選舉,如:Zookeeper, Redis, Hazelcast, Consul等常見狀态模式的抽象和實作。

Spring Cloud Starters

Pivotal

Spring Boot式的啟動項目,為Spring Cloud提供開箱即用的依賴管理。

個人介紹:

高廣超:多年一線網際網路研發與架構設計經驗,擅長設計與落地高可用、高性能網際網路架構。