首页 > 代码库 > 附7 turbine
附7 turbine
一、作用
- 聚集同一个微服务的相同的commandKey、Threadpool、commandGroupKey数据进行聚合
二、配置
1、集群(cluster)(turbine聚集数据的粒度)
turbine.aggregator.clusterConfig=myserviceA-dev,myserviceA-prod,myserviceB-dev,myserviceB-prod
说明:
- turbine会对同一个集群下的相同的commandKey、Threadpool、commandGroupKey数据进行聚合。
- 通常,我们会将相同环境的相同微服务化为一个集群(如上),当然也可以设置成myserviceA-dev1,myserviceA-dev2这样的分别进行统计。
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
说明:
- turbine的host链接指定的优先级:单个指定>全局,只有在某个集群没有单个指定的时候,才使用全局指定
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岂不是就会汇聚在一起,这样的话不是就不准确了吗?
附7 turbine
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。