标签:
一、作用
二、配置
1、集群(cluster)(turbine聚集数据的粒度)
turbine.aggregator.clusterConfig=myserviceA-dev,myserviceA-prod,myserviceB-dev,myserviceB-prod
说明:
2、host连接配置(turbine连接hystrix-dashboard的url)
全局:
turbine.instanceUrlSuffix=:7080/hystrix.stream
单个指定:
turbine.instanceUrlSuffix.myserviceA-dev=:8001/hystrix.stream
turbine.instanceUrlSuffix.myserviceA-prod=:8001/hystrix.stream
turbine.instanceUrlSuffix.myserviceB-dev=:8001/hystrix.stream
turbine.instanceUrlSuffix.myserviceB-prod=:8001/hystrix.stream
说明:
3、server配置(InstanceDiscovery,用于指定某个集群下有哪些server要连接)
turbine.ConfigPropertyBasedDiscovery.myserviceA-dev.instances = 11.0.11.11,22.0.22.22
以上三者的关系:1指定常量(用在2和3中),2和3拼装成访问的url,如上,myserviceA-dev的turbine访问路径就是把11.0.11.11:8001/hystrix.stream和22.0.22.22:8001/hystrix.steam的metrics统计在一起,然后在turbineIP:turbinePORT/turbine/turbine.stream?cluster=myserviceA-dev下进行展示。
注意:turbine的访问路径下必须有cluster名字的指定,除非在配置文件中cluster使用default,如下:
这样的话,所有的服务都属于一个集群,我们把所有的机器实例配在instances处就可以。这样做的话,有几点疑问:
疑问1:要把所有的机器实例ip都配在instances部分,这样的话,每添加一个服务,都要在这里添加几个IP吗?这个是怎样做到自动化的?
疑问2:instanceUrlSuffix部分的端口设置为8001,这样的话,每一个服务都必须以8001端口启动才行?
疑问3:假设服务A和服务B中都有name为hello的commandKey,那这两个commandKey的metrics岂不是就会汇聚在一起,这样的话不是就不准确了吗?
标签:
原文地址:http://www.cnblogs.com/java-zhao/p/5830440.html