阿里云優(yōu)惠神卷、最高優(yōu)惠25%,值得擁有:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ryr8l9eb&utm_source=ryr8l9eb
Spring Cloud核心框架概述
服務(wù)發(fā)現(xiàn)——Netflix Eureka

一個RESTful服務(wù),用來定位運行在AWS地區(qū)(Region)中的中間層服務(wù)。由兩個組件組成:Eureka服務(wù)器和Eureka客戶端。Eureka服務(wù)器用作服務(wù)注冊服務(wù)器。Eureka客戶端是一個java客戶端,用來簡化與服務(wù)器的交互、作為輪詢負(fù)載均衡器,并提供服務(wù)的故障切換支持。Netflix在其生產(chǎn)環(huán)境中使用的是另外的客戶端,它提供基于流量、資源利用率以及出錯狀態(tài)的加權(quán)負(fù)載均衡。
客服端負(fù)載均衡——Netflix Ribbon

Ribbon,主要提供客戶側(cè)的軟件負(fù)載均衡算法。
Ribbon客戶端組件提供一系列完善的配置選項,比如連接超時、重試、重試算法等。Ribbon內(nèi)置可插拔、可定制的負(fù)載均衡組件。
斷路器——Netflix Hystrix

斷路器可以防止一個應(yīng)用程序多次試圖執(zhí)行一個操作,即很可能失敗,允許它繼續(xù)而不等待故障恢復(fù)或者浪費 CPU 周期,而它確定該故障是持久的。斷路器模式也使應(yīng)用程序能夠檢測故障是否已經(jīng)解決。如果問題似乎已經(jīng)得到糾正??,應(yīng)用程序可以嘗試調(diào)用操作。
服務(wù)網(wǎng)關(guān)——Netflix Zuul

類似nginx,反向代理的功能,不過netflix自己增加了一些配合其他組件的特性。
監(jiān)控中心——Spring Boot Admin

Spring Boot Admin 用于監(jiān)控基于 Spring Boot 的應(yīng)用。
核心實戰(zhàn)架構(gòu)

架構(gòu)詳解
監(jiān)控
利用Spring Boot Admin 來監(jiān)控各個獨立Service的運行狀態(tài);利用Hystrix Dashboard來實時查看接口的運行狀態(tài)和調(diào)用頻率等。
負(fù)載均衡
將服務(wù)保留的rest進行代理和網(wǎng)關(guān)控制,除了平常經(jīng)常使用的node.js、nginx外,Spring Cloud系列的zuul和rebbion,可以幫我們進行正常的網(wǎng)關(guān)管控和負(fù)載均衡。
服務(wù)注冊與調(diào)用
基于Eureka來實現(xiàn)的服務(wù)注冊與調(diào)用,在Spring Cloud中使用Feign, 我們可以做到使用HTTP請求遠程服務(wù)時能與調(diào)用本地方法一樣的編碼體驗,開發(fā)者完全感知不到這是遠程方法,更感知不到這是個HTTP請求。
熔斷機智
因為采取了服務(wù)的分布,為了避免服務(wù)之間的調(diào)用“雪蹦”,我采用了Hystrix的作為熔斷器,避免了服務(wù)之間的“雪蹦”。
項目源碼
github:https://github.com/wxiaoqi/ace-security
gitchina:http://git.oschina.net/geek_qi/ace-security