spring Cloud

以下是來自官方的一篇簡單介紹:

spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer’s own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.

Spring Cloud爲開發人員提供了快速構建分佈式系統中的一些通用模式(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線,一次性令牌,全局鎖,領導選舉,分佈式 會話,羣集狀態)。 分佈式系統的協調導致了鍋爐板模式,並且使用Spring Cloud開發人員可以快速地站起來實現這些模式的服務和應用程序。 它們可以在任何分佈式環境中正常工作,包括開發人員自己的筆記本電腦,裸機數據中心和受管平臺,如Cloud Foundry。

中文文檔:https://springcloud.cc/

官方文檔:http://projects.spring.io/spring-cloud/#quick-start

截止發表這內容時,springcloud官方最新版本是Camden.SR2,springcloud的版本名稱很奇怪,它是按照倫敦地鐵站的名稱由a-z排序進行命名。

高深的內容我也不說太多,這裏我只說下springcloud中常用的組件
- 服務發現——Netflix Eureka
- 客服端負載均衡——Netflix Ribbon
- 斷路器——Netflix Hystrix
- 服務網關——Netflix Zuul
- 分佈式配置——Spring Cloud Config

Eureka

image

一個RESTful服務,用來定位運行在AWS地區(Region)中的中間層服務。由兩個組件組成:Eureka服務器和Eureka客戶端。 Eureka服務器用作服務註冊服務器。Eureka客戶端是一個Java客戶端,用來簡化與服務器的交互、作爲輪詢負載均衡器,並提供服務的故障切換支 持。Netflix在其生產環境中使用的是另外的客戶端,它提供基於流量、資源利用率以及出錯狀態的加權負載均衡。

Ribbon

Ribbon,主要提供客戶側的軟件負載均衡算法

image

Ribbon客戶端組件提供一系列完善的配置選項,比如連接超時、重試、重試算法等。Ribbon內置可插拔、可定製的負載均衡組件。下面是用到的一些負載均衡策略:
- 簡單輪詢負載均衡
- 加權響應時間負載均衡
- 區域感知輪詢負載均衡
- 隨機負載均衡

Ribbon中還包括以下功能:
- 易於與服務發現組件(比如Netflix的Eureka)集成
- 使用Archaius完成運行時配置
- 使用JMX暴露運維指標,使用Servo發佈
- 多種可插拔的序列化選擇
- 異步和批處理操作(即將推出)
- 自動SLA框架(即將推出)
- 系統管理/指標控制檯(即將推出)

Hystrix

image

斷路器可以防止一個應用程序多次試圖執行一個操作,即很可能失敗,允許它繼續而不等待故障恢復或者浪費 CPU 週期,而它確定該故障是持久的。斷路器模式也使應用程序能夠檢測故障是否已經解決。如果問題似乎已經得到糾正​​,應用程序可以嘗試調用操作。

image

斷路器增加了穩定性和靈活性,以一個系統,提供穩定性,而系統從故障中恢復,並儘量減少此故障的對性能的影響。它可以幫助快速地拒絕對一個操作,即 很可能失敗,而不是等待操作超時(或者不返回)的請求,以保持系統的響應時間。如果斷路器提高每次改變狀態的時間的事件,該信息可以被用來監測由斷路器保 護系統的部件的健康狀況,或以提醒管理員當斷路器跳閘,以在打開狀態。

image

流程圖

image

Zuul

image

類似nginx,反向代理的功能,不過netflix自己增加了一些配合其他組件的特性。

Spring Cloud Config

image

這裏主要列舉了一些常見的組件,更多的等待發掘。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章