SpringCloud系列:13

一、Hystrix Turbine


在上一章节中,我们讲解了微服务断路器监控系统Hy
strix 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

最后

小编这些年深知大多数初中级工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此我收集整理了一份《2024年Java全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你需要这些资料,⬅专栏获取
-1719528891479)]

[外链图片转存中…(img-b6ah5jEK-1719528891479)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你需要这些资料,⬅专栏获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值