zoukankan      html  css  js  c++  java
  • springcloud(11)-断路器聚合监控

    1.创建子项目turbine

    2.pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <parent>
        <groupId>com.zhangdemo</groupId>
        <artifactId>springcloud</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <artifactId>productServiceTurbine</artifactId>
    
      <dependencies>
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
        </dependency>
    
      </dependencies>
    
    </project>
    

    3.ProductServiceTurbineApplication

    @SpringBootApplication
    @EnableTurbine
    public class ProductServiceTurbineApplication {
        public static void main(String[] args) {
            int port = 8021;
            if(!NetUtil.isUsableLocalPort(port)) {
                System.err.printf("端口%d被占用了,无法启动%n", port );
                System.exit(1);
            }
            new SpringApplicationBuilder(ProductServiceTurbineApplication.class).properties("server.port=" + port).run(args);
    
        }
    
    }
    

    4.application.yml

    spring:
      application.name: turbine
    turbine:
      aggregator:
        clusterConfig: default
      appConfig: product-view-service-feign  # 配置Eureka中的serviceId列表,表明监控哪些服务
      clusterNameExpression: new String("default")
    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
    

    5.AccessViewService

    public class AccessViewService {
    
        public static void main(String[] args) {
    
            while(true) {
                ThreadUtil.sleep(1000);
                access(8012);
                access(8013);
            }
    
        }
    
        public static void access(int port) {
            try {
                String html= HttpUtil.get(String.format("http://127.0.0.1:%d/products",port));
                System.out.printf("%d 地址的视图服务访问成功,返回大小是 %d%n" ,port, html.length());
            }
            catch(Exception e) {
                System.err.printf("%d 地址的视图服务无法访问%n",port);
            }
        }
    }
    

    6.测试

    1.打开http://localhost:8020/hystrix,输入如下内容

    image-20201116151637123

    2.进入到以下页面

    image-20201116151601293
  • 相关阅读:
    局域网中CSMA/CD协议的应用
    RIP及距离向量算法
    网桥与以太网交换机
    C++ String
    C++ Input & Output
    Shell Script(1)----variable compare
    python--内建函数(1)
    python--data type
    python--compile
    python--help
  • 原文地址:https://www.cnblogs.com/NaoDaiYouDianDa/p/13985431.html
Copyright © 2011-2022 走看看