天天看點

Spring Cloud 各元件之間的關系

每個元件都不是平白無故的産生的,是為了解決某一特定的問題而存在。

Eureka和Ribbon,是最基礎的元件,一個注冊服務,一個消費服務。

Hystrix為了優化Ribbon、防止整個微服務架構因為某個服務節點的問題導緻崩潰,是個保險絲的作用。

Dashboard給Hystrix統計和展示用的,而且監控服務節點的整體壓力和健康情況。

Turbine是叢集收集器,服務于Dashboard的。

Feign是友善我們程式員些更優美的代碼的。

Zuul是加在整個微服務最前沿的防火牆和代理器,隐藏微服務結點IP端口資訊,加強安全保護的。

Config是為了解決所有微服務各自維護各自的配置,設定一個同意的配置中心,友善修改配置的。

Bus是因為config修改完配置後各個結點都要refresh才能生效實在太麻煩,是以交給bus來通知服務節點重新整理配置的。

Stream是為了簡化研發人員對MQ使用的複雜度,弱化MQ的差異性,達到程式和MQ松耦合。

Sleuth是因為單次請求在微服務節點中跳轉無法追溯,解決任務鍊日志追蹤問題的。

特殊成員Zipkin,之是以特殊是因為從jar包和包名來看它不屬于Spring Cloud的一員,但是它與Spring Cloud Sleuth的抽樣日志結合的天衣無縫。乍一看它與Hystrix的Dashboard作用有重疊的部分,但是他們的側重點完全不同。Dashboard側重的是單個服務的統計和是否可用,Zipkin側重的監控環節時長。簡言之,Dashboard側重故障診斷,Ziokin側重性能優化。

繼續閱讀