標籤:包括 批處理 roc str 而不是 shadow 朋友 自己 nginx
Spring Cloud由眾多子項目組成,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Consul 等,提供了搭建分布式系統及微服務常用的工具,如組態管理、服務發現、斷路器、智能路由、微代理、控制匯流排、一次性token、全域鎖、選主、分布式會話和叢集狀態等,滿足了構建微服務所需的所有解決方案。
服務發現——Netflix Eureka
客服端負載平衡——Netflix Ribbon
斷路器——Netflix Hystrix
服務網關——Netflix Zuul
分布式配置——Spring Cloud Config
Eureka
一個RESTful服務,用來定位運行在AWS地區(Region)中的中介層服務。由兩個組件組成:Eureka伺服器和Eureka用戶端。Eureka伺服器用作服務註冊伺服器。Eureka用戶端是一個java用戶端,用來簡化與伺服器的互動、作為輪詢負載平衡器,並提供服務的故障切換支援。Netflix在其生產環境中使用的是另外的用戶端,它提供基於流量、資源使用率以及出錯狀態的加權負載平衡。
Ribbon
Ribbon,主要提供客戶側的軟體負載平衡演算法。
Ribbon用戶端組件提供一系列完善的配置選項,比如連線逾時、重試、重試演算法等。Ribbon內建可插拔、可定製的負載平衡組件。下面是用到的一些負載平衡策略:
簡單輪詢負載平衡
加權回應時間負載平衡
地區感知輪詢負載平衡
隨機負載平衡
Ribbon中還包括以下功能:
易於與服務發現組件(比如Netflix的Eureka)整合
使用Archaius完成運行時配置
使用JMX暴露營運指標,使用Servo發布
多種可插拔的序列化選擇
非同步和批處理操作(即將推出)
自動SLA架構(即將推出)
系統管理/指標控制台(即將推出)
Hystrix
斷路器可以防止一個應用程式多次試圖執行一個操作,即很可能失敗,允許它繼續而不等待故障恢複或者浪費 CPU 週期,而它確定該故障是持久的。斷路器模式也使應用程式能夠檢測故障是否已經解決。如果問題似乎已經得到糾正,應用程式可以嘗試叫用作業。歡迎大家一起學習研究相關技術願意瞭解源碼的朋友直接求求交流分享技術:2147775633
斷路器增加了穩定性和靈活性,以一個系統,提供穩定性,而系統從故障中恢複,並盡量減少此故障的對效能的影響。它可以協助快速地拒絕對一個操作,即很可能失敗,而不是等待操作逾時(或者不返回)的請求,以保持系統的回應時間。如果斷路器提高每次改變狀態的時間的事件,該資訊可以被用來監測由斷路器保護系統的組件的健康情況,或以提醒管理員當斷路器跳閘,以在開啟狀態。
流程圖
Zuul
類似nginx,反向 Proxy的功能,不過netflix自己增加了一些配合其他組件的特性。
Spring Cloud Config
這個還是靜態,得配合Spring Cloud Bus實現動態配置更新。
更多詳細源碼參考來源:http://×××/honghu/technology.html
SpringCloud五大核心組件