Hystrix: Dashboard流监控

接上两张服务熔断

开始搭建Dashboard流监控

pom依赖

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>springcloud</artifactId>
        <groupId>com.kuang</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>springcloud-consumer-hystrix-dashboard</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <!--  消费者:实体类+web  不需要连接数据库,跟前端打交道的  -->
    <dependencies>
        <!--   Hystrix依赖   -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

        <!--   Hystrix依赖   -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>


        <!-- Ribbon 集成      -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-ribbon</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

        <!--    Eureka    -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>com.kuang</groupId>
            <artifactId>springcloud-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--    web 支持    -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--     热部署   -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

    </dependencies>

</project>
复制代码
<!--   Hystrix依赖   -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix</artifactId>
    <version>1.4.6.RELEASE</version>
</dependency>

<!--   Hystrix依赖   -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
    <version>1.4.6.RELEASE</version>
</dependency>

主启动类

java 复制代码
package com.kuang.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;

@SpringBootApplication
@EnableHystrixDashboard//开启
public class DeptConsumerDashboard_9001 {
    public static void main(String[] args) {
        SpringApplication.run(DeptConsumerDashboard_9001.class,args);
    }
}

启动

访问http://localhost:9001/hystrix

启动集群7001

在8001提供者里加个依赖

复制代码
<!--   Hystrix依赖   -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix</artifactId>
    <version>1.4.6.RELEASE</version>
</dependency>

在熔断里用这个监控才有效

主启动类里加一个bean放入IOC容器里

java 复制代码
package com.kuang.springcloud;

import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
@EnableEurekaClient //在服务启动后自动注册到 eureka服务端
@EnableDiscoveryClient//服务发现~
@EnableCircuitBreaker//添加对熔断的支持  ,开启断路器
public class DeptApplicationProviderHystrix_8001 {
    public static void main(String[] args) {
        SpringApplication.run(DeptApplicationProviderHystrix_8001.class,args);
    }


    //增加一个Servlet,配合我们的监控使用
    @Bean
    public ServletRegistrationBean hystrixMetricsStreamServlet(){
        ServletRegistrationBean registrationBean = new ServletRegistrationBean(new HystrixMetricsStreamServlet());
        registrationBean.addUrlMappings("/actuator/hystrix.stream");//添加映射路径
        return registrationBean;
    }

}

服务熔断机制

相关推荐
u0104058362 天前
Java中的服务熔断机制:Hystrix与Sentinel的比较
java·hystrix·sentinel
短剑重铸之日6 天前
《SpringCloud实用版》告别 Hystrix!Sentinel vs Resilience4j 深度对比 & 选型
spring cloud·hystrix·sentinel·熔断限流降级
蓝眸少年CY15 天前
(第七篇)spring cloud之Hystrix断路器
spring·spring cloud·hystrix
刘一说17 天前
Spring Cloud微服务中的断路器:从Hystrix到Sentinel的进化之路
spring cloud·hystrix·微服务
廋到被风吹走17 天前
【Spring】Spring Cloud 熔断降级深度解析:从 Hystrix 到 Resilience4j 的演进
spring·spring cloud·hystrix
机灵猫1 个月前
守卫系统的最后一道防线:深入 Sentinel 限流降级与熔断机制(对比 Hystrix)
java·hystrix·sentinel
小马爱打代码1 个月前
面试题:Hystrix与Sentinel区别
hystrix·sentinel
没有bug.的程序员3 个月前
Spring Cloud Bus 事件广播机制
java·开发语言·spring boot·hystrix·feign·springcloudbus·事件广播机制
三口吃掉你3 个月前
微服务之OpenFeign、hystrix熔断降级、loadbalancer负载均衡
hystrix·微服务·负载均衡·openfeign
青鱼入云3 个月前
Hystrix介绍
hystrix·微服务