zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Email:2017
    mac下使用QuickTime录屏及上传youku注意事项
    unity, 自定义类中使用print
    unity, 集成iOS广告sdk注意事项
    xcode,不要将.a文件拖到xcode里
    unity, 慎用DontDestroyOnLoad
    unity, 弹出panel一定要放在UI Hierarchy的底端
    unity, iOS下画面错乱解法
    (转)NSString to string(支持中文)
    objective-c的观察者模式
  • 原文地址:https://www.cnblogs.com/newAndHui/p/13348096.html
Copyright © 2011-2022 走看看