码迷,mamicode.com
首页 > 其他好文 > 详细

附7 turbine

时间:2016-09-01 18:30:29      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

一、作用

  • 聚集同一个微服务的相同的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

标签:

原文地址:http://www.cnblogs.com/java-zhao/p/5830440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!