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);
    }
}
View Code
复制代码

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

posted @   李东平|一线码农  阅读(245)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示