一、使用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. 【第二十六章】 hystrix-dashboard + turbine

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

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

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

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

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

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

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

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

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

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

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

  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. 2013 duilib入门简明教程 -- XML基础类(7)

    现在大家应该对XML描述界面不那么陌生了,那么我们做进一步介绍. 前面的教程我们写了很多代码,为的是让大家了解下基本流程,其实duilib已经对常用的操作做了很好的包装,正式使用时无需像前面的教程那样 ...

  2. EF for Oracle,dotConnect for Oracle,ODP.NET

    dotConnect for Oracle dotConnect for Oracle是一款为Microsoft .NET Framework提供直接Oracle数据库连接的数据发生器控件.它完全基于 ...

  3. 让IE系列支持HTML5的html5shiv.js和respond.min.js

    HTML5越来越成为主流,被广大搜索引擎所使用,但IE对HTML5的支持却常被人唾弃. 解决方案有两种: 1.为网站创建多套模板,通过程序对User-Agent的判断给不同的浏览器用户显示不同的页面, ...

  4. 08. Web大前端时代之:HTML5+CSS3入门系列 ~ QQ空间时间轴

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 大前端系列,主要就是使用CSS3.0来实现,注释我已经打 ...

  5. Unity 特殊文件夹 : 位置不能随便放

    有以下几个文件夹: Assets 用来存放资源的文件夹,包括各种材质.模型等 Editor 编辑器类等脚本 Editor Default Resources Editor scripts can ma ...

  6. 深入学习jQuery选择器系列第八篇——过滤选择器之伪子元素选择器

    × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 本文是子元素选择器的续篇,主要介绍关于nth-of-type()选择器的内容.该部分内容并非没有出现在<锋利的 ...

  7. java泛型上下限

    前言: java的泛型上下限不是很好理解,尤其像我这种菜鸡.反反复复看了好几遍了...,真是... 一.简单的继承体系 class Person{} class Student extends Per ...

  8. 在Windows环境中开始Docker的学习和体验

    研究docker有一段时间了,当然我主要的使用环境还是在Linux中,确实很方便. 但也有不少朋友希望使用Windows来工作学习,这里介绍一下在Windows中如何快速开始Docker的学习和体验吧 ...

  9. iOS开发之新浪微博山寨版代码优化

    之前发表过一篇博客“IOS开发之新浪围脖”,在编写代码的时候太偏重功能的实现了,写完基本功能后看着代码有些别扭,特别是用到的四种cell的类,重复代码有点多,所以今天花点时间把代码重构一下.为了减少代 ...

  10. 如何搭建Percona XtraDB Cluster集群

    一.环境准备 主机IP                     主机名               操作系统版本     PXC 192.168.244.146     node1           ...