天天看點

微服務熔斷限流Hystrix之流聚合

上一篇介紹了 Hystrix Dashboard 監控單體應用的例子,在生産環境中,監控的應用往往是一個叢集,我們需要将每個執行個體的監控資訊聚合起來分析,這就用到了 Turbine 工具。Turbine有一個重要的功能就是彙聚監控資訊,并将彙聚到的監控資訊提供給Hystrix Dashboard來集中展示和監控。

微服務熔斷限流Hystrix之流聚合

工程名

端口

作用

eureka-server

8761

注冊中心

service-hi

8762

服務提供者

service-consumer

8763

服務消費者

service-turbine

8765

Turbine服務

eureka-server 、service-hi、service-consumer 工程代碼與上一節 微服務熔斷限流Hystrix之Dashboard 相同,下面是 service-turbine 工程的核心代碼。

參數說明:

turbine.app-config:指定要監控的應用名

turbine.cluster-name-expression:指定叢集的名字

turbine.combine-host-port:表示同一主機上的服務通過host和port的組合來進行區分,預設情況下是使用host來區分,這樣會使本地調試有問題

啟動多個 service-consumer 工程,來模拟多執行個體,可以通過指令java -jar service-consumer.jar --server.port=XXXX 來實作。

為了友善,在編輯器中實作啟動工程。但 idea 不支援單個應用的多次啟動, 需要開啟并行啟動:

選擇 “Edit Configurations...”

微服務熔斷限流Hystrix之流聚合

勾選 “Allow running in parallel”

微服務熔斷限流Hystrix之流聚合

啟動工程,通路 http//localhost:8763/hi , http//localhost:8764/hi , http//localhost:8763/oh , http//localhost:8764/oh,來産生測試資料。

通路 http://localhost:8765/hystrix ,

微服務熔斷限流Hystrix之流聚合

輸入監控流位址 http://localhost:8765/turbine.stream ,點選 Monitor Stream 進入監控頁面

微服務熔斷限流Hystrix之流聚合

可以看到聚合了兩個執行個體的 Hystrix dashbord 資料。

https://github.com/gf-huanchupk/SpringCloudLearning/tree/master/chapter18

歡迎關注我的公衆号《程式員果果》,關注有驚喜~~

微服務熔斷限流Hystrix之流聚合

繼續閱讀