一、使用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结果

【第二十六章】 hystrix-dashboard + turbine的更多相关文章

  1. Gradle 1.12用户指南翻译——第二十六章. War 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  2. “全栈2019”Java多线程第二十六章:同步方法生产者与消费者线程

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  3. “全栈2019”Java第二十六章:流程控制语句中循环语句do-while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. SpringBoot | 第二十六章:邮件发送

    前言 讲解了日志相关的知识点后.今天来点相对简单的,一般上,我们在开发一些注册功能.发送验证码或者订单服务时,都会通过短信或者邮件的方式通知消费者,注册或者订单的相关信息.而且基本上邮件的内容都是模版 ...

  5. UNP学习笔记(第二十六章 线程)

    线程有时称为轻权进程(lightweight process) 同一进程内的所有线程共享相同的全局内存.这使得线程之间易于共享信息,然后这样也会带来同步的问题 同一进程内的所有线程处理共享全局变量外还 ...

  6. 第二十六章 hystrix-dashboard + turbine

    一.使用turbine的意义 引入多个hystrix stream: 1.使用hystrix-dashboard的可以添加多个stream的功能 图中添加的两个stream会在真正monitor的时候 ...

  7. 【WPF学习】第二十六章 Application类——应用程序的生命周期

    在WPF中,应用程序会经历简单的生命周期.在应用程序启动后,将立即创建应用程序对象,在应用程序运行时触发各种应用程序事件,你可以选择监视其中的某些事件.最后,当释放应用程序对象时,应用程序将结束. 一 ...

  8. python3 第二十六章 - 内置函数之Number相关

    数学函数 函数 返回值 ( 描述 ) 实例 abs(x) 返回数字的绝对值,如abs(-10) 返回 10 print(abs(-10)) =======输出:====== 10 ceil(x) 返回 ...

  9. 《Linux命令行与shell脚本编程大全》第二十六章 一些有意思的脚本

    26.1 发送消息 26.1.1 功能分析 1.确定系统中都有谁 $who 给出的信息包括用户名 用户所在终端 用户登入系统的时间 2.启用消息功能 用户可以禁止别人给我发消息,所以需要先检查一下是否 ...

随机推荐

  1. pycharm 使用激活补丁永久激活+汉化

    提供激活补丁激活方式(推荐使用-使用期到2100年,基本永久啦) 破解补丁激活 1.下载 https://pan.baidu.com/s/1GehNMTXagUxUEted1DT-Pg 密码:6689 ...

  2. 【HTML5】HTML5的自学路线

    HTML5的开发市场已越来越火爆,他已经与我们的生活息息相关,它也成为了我们生活中的一部分,比如我们在网上购物,玩手游等等,都存在html5的影子,也正是因为html5的高度影响力,吸引了许多人开始关 ...

  3. Web Responsive Table, 只需CSS使table在手机和平板中完美显示

    在做responsive或者手机版页面的时候,经常碰到<Table>在手机和平板中会因为长度问题把页面撑大.最近看到一个比较好,比较方便的方法,而且仅仅用CSS 2就可以实现! 实例URL ...

  4. 腾讯云的云数据库MYSQL配置

    腾讯云的云数据库MYSQL配置

  5. java项目连接jdbc报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server

    java项目连接jdbc报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not creat ...

  6. vue学习七之Axios

    JQuery时代,我们使用ajax向后台提交数据请求,Vue时代,Axios提供了前端对后台数据请求的各种方式. 什么是Axios Axios是基于Promise的Http客户端,可以在浏览器和nod ...

  7. rsync 配置详解

    安装 [root@localhost ~]# yum install -y rsync [root@localhost ~]# systemctl start rsyncd [root@localho ...

  8. [LeetCode] 122. Best Time to Buy and Sell Stock II_Easy tag: Dynamic Programming

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  9. 浅谈Java中的==和equals

    引言 最近在看TIJ,看到==和equals相关内容,今天就来简单的总结下. 关系操作符== 书中对关系操作符的描述是这样的:"关系操作符生成的是一个boolean结果,它们计算的是操作数的 ...

  10. js判断两个日期是否严格相差整年(合同日期常用)

    1.var beginDate = new Date($("#InvoiceStartTime").val()); var endDate = new Date($("# ...