SpringCloud系列:13.微服务断路器聚合监控系统Hystrix Turbine

一、Hystrix Turbine

在上一章节中,我们讲解了微服务断路器监控系统Hystrix Dashboard,但是Dashboard仅仅针对于单个服务,而在Spring Cloud微服务体系中,存在着各种各样的服务,一个一个去监控显然不现实,而Hystrix Turbine恰恰解决了这个难题。

Hystrix Turbine可以说是Hystrix Dashboard的聚合版,使用上与Dashboard类似,只是它将多个仪表盘数据集合到一起,达到了统一监控的目的。

二、改造book-server

继续改造之前的项目,原有的项目中,user-server已经集成了Hystrix Dashboard,所以这里不再需要对其做任何变更修改了。

既然Turbine是监控多个微服务,那自然需要多个微服务,所以我们再次请出了我们的book-server,现在我们对book-server进行一些改造,改造思路类似于上一章user-server集成Hystrix Dashboard。

首先我们在pom文件中引入必要的依赖:spring-cloud-starter-netflix-hystrix,spring-boot-starter-actuator以及spring-cloud-starter-netflix-hystrix-dashboard。

然后是核心启动类,我们添加上@EnableHystrixDashboard开启仪表盘支持,同时也添加@EnableHystrix注解,之前book-server并没有去调用其他服务,所以也没有使用到Hystrix功能。

配置文件中,我们需要暴露出/actuator/hystrix.stream的监控地址供访问,所以在原来bus的配置中增加了hystrix.stream,当然这里也可以如上一章节一样,直接将exposure.include配置为*暴露出所有。

如果不修改配置文件暴露地址,其实也可以在启动类中提供ServletRegistrationBean的Bean对象,这两者的作用是一样的,按喜好选取。

Hystrix Dashboard和Hystrix Turbine都是监控Hystrix断路器的,只有服务使用了Hystrix才会出现监控信息,所以这里添加了一个BackApi类,类中进行了简单的@HystrixCommand处理。

至此我们对book-server的改造就完成了,访问
http://localhost:10830/actuator/hystrix.stream一样可以出现监控json信息。

同样的还有我们的http://localhost:10830/hystrix监控页面,这和我们上一章的讲解是一模一样的。

 

三、搭建Hystrix Turbine服务

现在book-server和user-server都已经拥有了Dashboard监控,那如何将他们聚集到一起呢?

为此,我们需要添加一个Turbine服务,这里我们新增turbine-server,pom依赖如下。除了spring-boot-starter-web和Eureka依赖外,就是我们的Turbine依赖。

然后我们的核心启动类上,@EnableHystrixDashboard声明开启仪表盘,@EnableTurbine注解则表明使用聚合仪表盘的支持,其他的东西都是熟悉不过的老朋友。

然后是配置文件,服务端口10860,可以看到除了turbine模块的配置外,其他的配置也都是一如既往,不做过多讲解。turbine配置中app-config表明聚合监控的服务,因为turbine-server集成了Eureka,可以从注册中心获取到对应的服务,instanceUrlSuffix.default配置监控的服务实例后缀地址,这和我们其他服务使用的相同。

到这里turbine-server就搭建完毕,我们启动前面的服务,然后再启动turbine-server。

启动完成后,我们访问http://localhost:10860/turbine.stream,注意是turbine.stream,和之前的不一样了,依旧会出现我们有些熟悉又看不懂的密密麻麻的json数据。记得提前调用Hystrix请求,否则会出现一直ping、ping的情况。

然后再访问http://localhost:10860/hystrix,会发现可视化界面与之前有了些许的变化,你没看错,book-server和user-server的Hystrix监控信息都展示到了这里,turbine-server正常运行。

源码地址: https://github.com/imyanger/springcloud-project/tree/master/p11-hystrix-turbine

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值