【附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岂不是就会汇聚在一起,这样的话不是就不准确了吗?
参考:
- https://github.com/Netflix/Turbine/wiki/Getting-Started-(1.x)
- https://github.com/Netflix/Turbine/wiki/Configuration-(1.x)
【附7】turbine的更多相关文章
- 附7 turbine
一.作用 聚集同一个微服务的相同的commandKey.Threadpool.commandGroupKey数据进行聚合 二.配置 1.集群(cluster)(turbine聚集数据的粒度) turb ...
- 第二十六章 hystrix-dashboard + turbine
一.使用turbine的意义 引入多个hystrix stream: 1.使用hystrix-dashboard的可以添加多个stream的功能 图中添加的两个stream会在真正monitor的时候 ...
- 【第二十六章】 hystrix-dashboard + turbine
一.使用turbine的意义 引入多个hystrix stream: 1.使用hystrix-dashboard的可以添加多个stream的功能 图中添加的两个stream会在真正monitor的时候 ...
- 【spring cloud】spring cloud2.X spring boot2.0.4调用feign配置Hystrix Dashboard 和 集成Turbine 【解决:Hystrix仪表盘Unable to connect to Command Metric Stream】【解决:Hystrix仪表盘Loading...】
环境: <java.version>1.8</java.version><spring-boot.version>2.0.4.RELEASE</spring- ...
- springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin
相信现在已经有很多小伙伴已经或者准备使用springcloud微服务了,接下来为大家搭建一个微服务框架,后期可以自己进行扩展.会提供一个小案例: 服务提供者和服务消费者 ,消费者会调用提供者的服务,新 ...
- C# 多种方式发送邮件(附帮助类)
因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...
- 【开源毕设】一款精美的家校互动APP分享——爱吖校推 [你关注的,我们才推](持续开源更新3)附高效动态压缩Bitmap
一.写在前面 爱吖校推如同它的名字一样,是一款校园类信息推送交流平台,这么多的家校互动类软件,你选择了我,这是我的幸运.从第一次在博客园上写博客到现在,我一次一次地提高博文的质量和代码的可读性,都是为 ...
- 轻量级通信引擎StriveEngine —— C/S通信demo(附源码)
前段时间,有几个研究ESFramework的朋友对我说,ESFramework有点庞大,对于他们目前的项目来说有点“杀鸡用牛刀”的意思,因为他们的项目不需要文件传送.不需要P2P.不存在好友关系.也不 ...
- http程序接口、调用(最入门级,文末附Demo)
HTTP协议简介 既然是基于HTTP协议开发,那么就首先要了解下HTTP协议的相关内容- 在TCP/IP体系结构中,HTTP属于应用层协议,位于TCP/IP协议的顶层.浏览Web时,浏览器通过HTTP ...
随机推荐
- 分块学习笔记qwq
我没想到居然就学到分块了...哇我还一直觉得分块听起来挺牛逼的一直想学的来着qwq(其实之前好像vjudge上有道题是用分块做的?等下放链接qwq 所以想着就写个学习笔记趴qwq 首先知道分块的时间复 ...
- 迁移到 Linux:使用 sudo | Linux 中国
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/F8qG7f9YD02Pe/article/details/80976600 https://mmbi ...
- HTTP API响应数据规范整理
概述 本文档为本人对长期开发API接口所整理的经验总结,如有不完善或不合理的地方,望各位多提意见. 文档目的为规范服务器端API接口,便于服务器端与客户端代码重用.服务器端和客户端可根据实际所定义规范 ...
- matlab常用方法
1:matlab进行符号的虚数运算 直接使用符号 a+b*j运算,结果是一个角度值,不是复数. 可以使用 a+b*(1j) 进行运算. 如下 position(index,)=radius; ...
- 畅通工程&&How Many Tables
http://acm.hdu.edu.cn/showproblem.php?pid=1232 #include <iostream> #include <stdio.h> #i ...
- Linux学习网站推荐
最近想重新拾起Linux,发现了实验楼这个网站:https://www.shiyanlou.com/,可以通过这个网站学习Linux以及其他一些知识,可以直接学习直接动手操作,比较方便.
- android开发中遇到的一些问题
buildToolsVersion 设置buildtool版本 今天遇到一个奇怪问题instant not supported 原来是设置显示offline...这个很无语,adb devices又能 ...
- 浏览器测试string是否为图片
在浏览器中直接打如下代码.其中adcd为图片转成的string data:image/jpeg;base64,abcd
- requirejs初体验
1.引入requirejs <script type="text/javascript" src="/js/common/require2.3.5.js" ...
- 倒计时60s