简介

上一篇介绍了 Hystrix Dashboard 监控单体应用的例子,在生产环境中,监控的应用往往是一个集群,我们需要将每个实例的监控信息聚合起来分析,这就用到了 Turbine 工具。Turbine有一个重要的功能就是汇聚监控信息,并将汇聚到的监控信息提供给Hystrix Dashboard来集中展示和监控。

流程

实验

工程说明

工程名 端口 作用
eureka-server 8761 注册中心
service-hi 8762 服务提供者
service-consumer 8763 服务消费者
service-turbine 8765 Turbine服务

核心代码

eureka-server 、service-hi、service-consumer 工程代码与上一节 微服务熔断限流Hystrix之Dashboard 相同,下面是 service-turbine 工程的核心代码。

pom.xml

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-turbine</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
复制代码

application.yml

server:port: 8765spring:application:name: service-turbine
eureka:client:service-url:defaultZone: http://localhost:8761/eureka/turbine:app-config: service-consumercluster-name-expression: new String("default")combine-host-port: true
复制代码

参数说明:

  • turbine.app-config:指定要监控的应用名
  • turbine.cluster-name-expression:指定集群的名字
  • turbine.combine-host-port:表示同一主机上的服务通过host和port的组合来进行区分,默认情况下是使用host来区分,这样会使本地调试有问题

启动类

@SpringBootApplication
@EnableEurekaClient
@EnableHystrixDashboard
@EnableTurbine
public class ServiceTurbineApplication {public static void main(String[] args) {SpringApplication.run( ServiceTurbineApplication.class, args );}}
复制代码

模拟多实例

启动多个 service-consumer 工程,来模拟多实例,可以通过命令java -jar service-consumer.jar --server.port=XXXX 来实现。

为了方便,在编辑器中实现启动工程。但 idea 不支持单个应用的多次启动, 需要开启并行启动:

选择 “Edit Configurations...”

勾选 “Allow running in parallel”

测试

启动工程,访问 http//localhost:8763/hi , http//localhost:8764/hi , http//localhost:8763/oh , http//localhost:8764/oh,来产生测试数据。

访问 http://localhost:8765/hystrix ,

输入监控流地址 http://localhost:8765/turbine.stream ,点击 Monitor Stream 进入监控页面

可以看到聚合了两个实例的 Hystrix dashbord 数据。

源码

github.com/gf-huanchup…

欢迎扫码或微信搜索公众号《程序员果果》关注我,关注有惊喜~

微服务熔断限流Hystrix之流聚合相关推荐

  1. java中的熔断机制_微服务熔断机制与Hystrix原理

    微服务是由多个子系统构成的系统,每个子系统分别负责自己的业务,各个服务之间通过HTTP请求进行通讯,所以保证每个服务的可用性是整体可用性的前提,因此在一些服务提供者不可用的情况下,导致大量请求阻塞到此 ...

  2. Service Mesh微服务熔断、限流的骚操作

    在微服务架构中,随着服务调用链路变长,为了防止出现级联雪崩,在微服务治理体系中,熔断.限流作为服务自我保护的重要机制,是确保微服务架构稳定运行的关键手段之一. 那么什么是熔断.限流?在传统Spring ...

  3. 玩转Service Mesh微服务熔断、限流骚操作

    在微服务架构中,随着服务调用链路变长,为了防止出现级联雪崩,在微服务治理体系中,熔断.限流作为服务自我保护的重要机制,是确保微服务架构稳定运行的关键手段之一. 那么什么是熔断.限流?在传统Spring ...

  4. 微服务接口限流的设计与思考(附GitHub框架源码)

    http://www.infoq.com/cn/articles/microservice-interface-rate-limit?useSponsorshipSuggestions=true&am ...

  5. (二)微服务保护——限流规则

    微服务保护--限流规则 一.快速入门: 1.簇点链路: 二.流控模式: (一)三种模式: (二)关联模式: 1.例子: 2. 使用场景: 3.案例: (三)链路模式: 1.例子: 2.案例 三.流控效 ...

  6. 微服务网关限流鉴权-wei-fu-wu-wang-guan-xian-liu--jian-quan

    title: 微服务网关限流&鉴权 date: 2022-01-06 14:40:45.047 updated: 2022-01-06 14:40:45.047 url: https://ww ...

  7. 眼见为实:关于微服务熔断这几个知识点,你可能理解错了

    " 微服务熔断,是当微服务中某个子服务,发生异常不可用,其他服务在进行远程调用时不能正常访问而一直占用资源,导致正常的服务也发生资源不能释放而崩溃,这时为了不造成整个微服务群瘫痪,进行的保护 ...

  8. 微服务(八)——Hystrix服务降级、熔断、限流(上)

    目录 Hystrix服务降级.熔断.限流 Hystrix是什么 Hystrix停更进维 Hystrix的服务降级熔断限流相关概念 Hystrix支付微服务构建 JMeter高并发压测后卡顿 订单微服务 ...

  9. c++突破网关屏蔽_通过API网关实现微服务管控-限流,熔断和降级

    今天准备谈下基于API网关来实现微服务治理管控中的服务限流,熔断和降级方面的内容.在前面谈微服务架构的时候也谈到过类似通过Hystrix,Sentinel来是服务限流熔断.包括也不断地在谈去中心化架构 ...

  10. 分布式架构,微服务、限流、熔断....

    本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件.本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节. 要理解微服务,首先要先理解不是微服 ...

最新文章

  1. 交叉科学部如何建?基金委:要做好这4点
  2. 如何调整mintty行距及字间距
  3. UVA 307 Sticks
  4. python带通滤波_python中的fft带通滤波器
  5. java 方法 示例_Java扫描仪具有示例的NextNextInt()方法
  6. php重写curl_setopt函数,PHP curl_share_setopt函数
  7. ModelCoder中的代数环问题
  8. C++ 面向对象与面向过程的区别与联系
  9. 智慧楼宇管理后台、运维配置、设备台账、设备管理、维保统计、巡检统计、维修工单、报修统计、电子巡更、智能楼宇运营、运营后台、智慧社区、楼宇设备监控管理端、智能社区管理系统、楼宇运维管理系统
  10. 第九届蓝桥杯省赛C/C++本科B组真题解析
  11. 冰点下载器手机版apk_冰点文库下载器app下载
  12. linux下音频剪辑软件,音频剪辑软件哪个好用?5款免费开源的音频剪辑软件推荐...
  13. StretchDIBits显示8位图问题
  14. 高校大数据产品有哪些
  15. PHP读取txt文件自动分成指定行数
  16. pod 文件管理服务器,k8s中pod的状态管理
  17. 佩服,竟然有人把高等数学这么晦涩难懂的科目,讲解得如此通俗易懂
  18. 如何用Qt展示你的GIF动图
  19. 青龙-聚看点(稳定的毛)
  20. B站2020跨年晚会,被弹幕刷屏的节目是哪个,发弹幕最多的人又是谁?

热门文章

  1. 部署hexo后github pages页面未更新或无法打开问题
  2. A Beginner's Guide To Understanding Convolutional Neural Networks Part One (CNN)笔记
  3. 使用wwise音效引擎的好处
  4. 刨根问底HTTP和WebSocket协议
  5. 自创解决键盘最后退出的问题
  6. SQL Pass北京举办第六次线下活动,欢迎报名
  7. Docker配置国内加速器加速镜像下载的方法
  8. bzoj 2795 [Poi2012]A Horrible Poem hash+线性筛
  9. 百度编辑器ueditor字体添加
  10. 怎样对齐文体框和图像按钮