1. 程式人生 > >SpringCloud入門各元件作用

SpringCloud入門各元件作用

       Spring Cloud為開發人員提供了快速構建分散式系統的一些工具,既然是分散式,那就要有一箇中心,我們叫做服務的註冊和發現中心(Eureka),有了中心之後,我們就可以將各種服務往裡面註冊使得各個服務可以相互感知到。這個時候,我們往往需要服務之間進行交流與互動,那麼服務消費者便出現(rest+ribbon),開發者越來越強迫症,所以基於ribbon的服務消費者feign(並且內建有斷路器)出現了。服務多了,我們還要讓服務健壯,所以一般會有兩個以上一模一樣的服務作為叢集或負載均衡,然而不管如何做,某一服務都可能故障,所以便有了斷路器(Hystrix),斷路器的作用是當遠端服務訪問不到,可以改成訪問本地的某一方法。好了,現在我們已經有了一個服務了,接下來就是要把所有的服務介面統一起來暴露出去給客戶用了,這時候就有了路由閘道器(zuul),作用就是負載均衡統一服務埠和反向代理,注意到統一這兩個字之後,我們就開始有想法,比如統一過濾,統一許可權認證等等統一的東西都可以放在這裡。然後開發者有發現一個問題,服務一多,改配置太麻煩了,需要有個東西來管理,最好還能線上修改配置,這時候分散式配置中心(Spring Cloud Config)就出現了,它實現了將所有服務的配置檔案都抽取到一個統一的地方,這時候程式設計師又要發妖了,想要更改配置的時候,服務能夠知道並且熱更新配置,那麼就需要一個訊息傳遞工具——訊息匯流排(Spring Cloud Bus),通過這個匯流排向其他服務傳遞訊息。接下來,我們想要知道各個服務之間的呼叫關係間接得到服務之間的依賴,那麼就需要服務追蹤元件(zipkin ,SpringCloud Sleuth集成了zipkin)了。