SpringCloud2 Hystrix无法访问/hystrix.stream解决方案

原因在于SpringCloud2/hystrix.stream 交给了actuator管理;而actuator对其管理的路径都添加了 /actuator 前缀,且actuator默认只开启 /info/health 两个路径。

解决办法

步骤1 开放 /hystrix.stream 访问(两个方法任选)

方法1.1 application.yml中添加actuator配置项
management: 
  endpoints: 
    web: 
      exposure: 
        include: health,info,hystrix.stream #根据需求增删路径
方法1.2 Configuration类中添加ServletRegistrationBean

参考CSDN博主「dangshushu」的原创文章

@Bean
public ServletRegistrationBean getServlet(){
    HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
    ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
    registrationBean.setLoadOnStartup(1);
    registrationBean.addUrlMappings("/actuator/hystrix.stream");
    registrationBean.setName("HystrixMetricsStreamServlet");
    
    return registrationBean;
}

步骤2 修改请求路径 /actuator/hystirx.stream


PS: 一个小坑

Hystrix端和HystrixDashboard端需要统一传输协议,即 都采用http:// 或 都采用https://

你可能感兴趣的:(SpringCloud)