第二十六章 hystrix-dashboard + turbine


一、使用turbine的意義

引入多個hystrix stream:

1、使用hystrix-dashboard的可以添加多個stream的功能

圖中添加的兩個stream會在真正monitor的時候分開展示,這樣的話,假設兩個stream都引用了同一個方法a,那么方法a會分開展示兩次,如下:

實際上我們只需要統計a的處理能力,與誰調用無關,所以希望在整個dashboard下只有一個a的展示,那么我們就需要通過turbine將這些所有a的展示匯聚起來。

注意:

  • turbine的匯聚也是實時的

2、使用turbine進行匯聚

turbine介紹:附7 turbine

turbine部署:第二章 部署war包到tomcat

 

二、總體圖

前提:

  • 假設有兩個服務A/B分別布在兩台機器上(這里為了簡單,使用一個服務myboot來代替),A、B都訪問myboot2的兩個接口getHotelInfo和getHotelInfo2(這兩個接口也是commandKey的名字);
  • 同時在一台機器上部署了turbine.war。

測試:

  • A、B對兩個接口getHotelInfo和getHotelInfo2能否分別聚合。

 

三、操作

1、分別將myboot項目在兩台機器上啟動

  • 會用到的命令:scp myboot.jar root@192.22.22.22:~/zjg/service(將本地的myboot.jar拷貝到遠程機器的~/zjg/service目錄下)

2、啟動myboot2.jar

3、配置tomcat的webapps下的turbine/WEB-INF/classes/config.properties

InstanceDiscovery.impl=com.netflix.turbine.discovery.ConfigPropertyBasedDiscovery
#cluster
turbine.aggregator.clusterConfig=default
#turbine.aggregator.clusterConfig=myboot
turbine.instanceUrlSuffix=:8001/hystrix.stream
turbine.ConfigPropertyBasedDiscovery.default.instances=192.11.11.11,192.22.22.22

說明:配置了一個cluster為default,原因及其他配置見 附7 turbine

4、啟動turbine

  • 如果需要tomcat的關閉過程可能不會關閉干凈,使用ps -ef | grep tomcat,之后進行kill就好。

5、分別啟動兩台機器上的hystrix-dashboard

6、瀏覽器輸入

  • "192.11.11.11:7979/hystrix-dashboard"並添加"192.11.11.11:8001/hystrix.stream"進行monitor
  • "192.22.22.22:7979/hystrix-dashboard"並添加"192.22.22.22:8001/hystrix.stream"進行monitor
  • "192.11.11.11:7979/hystrix-dashboard"(重新打開一個頁面)並添加"192.11.11.11:8080/turbine/turbine.stream"進行monitor

7、使用swagger分別訪問myboot調用myboot2的兩個接口getHotelInfo和getHotelInfo2,查看3個monitor頁面,會發現turbine.stream會是前兩個hystrix.stream的聚合結果

 

四、turbine結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM