SpringCloud之Hystrix集群监控turbine仪表盘
1.引入
在前一节中我们演示了单机模式下Hystrix服务监控Dashboard仪表盘,但是在实际生产中微服务都是集群模式,
为了更接近世界生产,我们在这里也给大家讲一下如何监控集群模式
2.准备工作
既然我们要监控集群模式,那么首先我们保证服务提供者是处于集群模式的,因此我们复制一个ticket-lock-provider-6004,
定义模块名称为:ticket-lock-provider-6005,
改动点一:
application.yml文件中的端口号改为6005, instance-id 改为 service-lock:6005 ,其他不变
改动点二:
启动类名称改为: TicketProviderApplication_6005
改动点三:
为了方便测试看从是那个服务提供者,在消息中做端口号标记
特别注意:再次提醒一下,讲课中我们是为了演示,所以总是复制相同的模块,但是实际中只需要将一个项目多部署几个即可
3.构建hystrix-turbine-8081监控项目
pom.xml依赖包
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-turbine</artifactId> </dependency> </dependencies>
application.yml文件
server:
port: 8081
context-path: /
# 客户端负载均衡配置
eureka:
client:
register-with-eureka: false
service-url:
defaultZone: http://eureka7001.wfd360.com:7001/eureka/,http://eureka7002.wfd360.com:7002/eureka/,http://eureka7003.wfd360.com:7003/eureka/
# 应用名称
spring:
application:
name: turbine
# turbine配置
turbine:
app-config: service-lock # 需要监控的应用名称,这里相当于是6004和 6005的应用名称
clusterNameExpression: "'default'" # 集群名字为default
启动类:
package com.wfd360; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; import org.springframework.cloud.netflix.turbine.EnableTurbine; /** * @author 姿势帝-博客园 * @address https://www.cnblogs.com/newAndHui/ * @WeChat 851298348 * @create 07/20 9:42 * @description */ @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) @EnableTurbine public class HystrixTurbineConsumer_8081 { public static void main(String[] args) { SpringApplication.run(HystrixTurbineConsumer_8081.class, args); } }
4.测试
启动eureka,服务提供者6004和6005,启动服务消费者80,启动服务监控 Dashboard 8080 和 turbine 8081
关系图:
当消费者80去调用 服务 6004或6005时, turbine 8081就能感知到(感知到的是请求数据,但是不能很好的显示),继而发给 dashboard 8080 进行显示
访问:http://localhost/ticket/list ,看服务消费者是否正常
访问: http://localhost:8081/turbine.stream , 看服务监控是否正常
访问:http://localhost:8080/hystrix.stream 进入仪表盘,并将链接 http://localhost:8081/turbine.stream 放入仪表盘中进行监控
点击:Monitor Stream按钮,结果如下
通过不断测试服务消费者:http://localhost/lock/ticket/10,可以观察图中的曲线变化,
完美!
springCloud课程与代码下载:https://www.cnblogs.com/newAndHui/p/13210228.html