spring cloud 是微服務分佈式部署的一套解決方案。它涵蓋了不少組件,好比配置中心、服務發現註冊、負載均衡、阻斷器、消息總線、數據監控等,這些組件都是爲微服務分佈式部署中幾乎都會遇到的問題。nginx
微服務:通俗的講就是功能相關的的一個集合做爲一個服務單獨進行部署,那麼不少個這樣的集合就構成了微服務。用專業一點的俗語講就是把知足 srp(single_responsibility_principle)原則的的服務。spring
和zookeeper / consul 相似segmentfault
Hystrix 會在某個服務連續調用 N 次不響應的狀況下,當即通知調用端調用失敗,避免調用端持續等待而影響了總體服務。Hystrix 間隔時間會再次檢查此服務,若是服務恢復將繼續提供服務。
熔斷監控工具:
Hystrix Dashbord和Turbine。 turbine用於各個在微服務中收集熔斷數據, hystrix dashbord則用於展現這些數據。顯示效果以下:架構
配置的集中化管理,當配置在服務運行期間發生改變的時候能夠經過refresh功能刷新配置。生產環境建議配置中心集羣化部署已保證其高可用性。負載均衡
經過spring cloud bus能夠鏈接各個微服務節點,當須要給多個或者全部服務節點發送某個信息的時候,便可經過spring cloud bus來完成。tcp
好比:當某個配置發生改變後,須要通知對應的服務實例刷新配置,這個時候能夠經過sprIng cloud bus來完成。其工做原理以下:分佈式
請求轉發,感受有點相似nginx的角色微服務
分佈式鏈路跟蹤須要 Sleuth+Zipkin 結合來實現。工具
Spring Cloud(零):微服務的那些事兒