关于SpringCloud中,使用 Hystrix的问题

  1. springCloud升级后。导致 HtystrixDashboard 默认的servlet请求路径修改了
  2. 将业务的微服务使用 HtystrixDashboard 仪表盘第一次监控时出现 Unable to connect to Command Metric Stream.

 

 

解决办法: 这都是 业务微服务端更改。不是 htystrix

  1. 显示的 声明一个 servlet组
  2. 
    /**
         *此配置是为了服务监控而配置,与服务容错本身无关,springcloud升级后的坑
         *ServletRegistrationBean因为springboot的默认路径不是"/hystrix.stream",
         *只要在自己的项目里配置上下面的servlet就可以了
         * cloud更改前的路径应该是 /actuator/hystrix
         */
        @Bean
        public ServletRegistrationBean getServlet() {
            HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
            ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
            registrationBean.setLoadOnStartup(1);
            registrationBean.addUrlMappings("/hystrix.stream");
            registrationBean.setName("HystrixMetricsStreamServlet");
            return registrationBean;
        }
  3. 确认是否引入  actuator 的依赖
  4. 
                org.springframework.boot
                spring-boot-starter-actuator
    
  5. 一切准备完成后。 访问 htystrix 检测的地址 :  localhost:端口/htystrix.stream  . 进行业务访问 。发现有 ping出现。说明此时客户端没有问题了
  6. 关于SpringCloud中,使用 Hystrix的问题_第1张图片
  7. 将此地址配入 htystrix 关于SpringCloud中,使用 Hystrix的问题_第2张图片
  8. 查看是否能正确访问:关于SpringCloud中,使用 Hystrix的问题_第3张图片
  9. 如果还是出现 Unable to connect to Command Metric Stream. 查看一下log日志。 发现是   could'n allow list. 那么在 htystrict端的 application.yml 文件中。配置host允许
    hystrix:
      dashboard:
        proxy-stream-allow-list: localhost

你可能感兴趣的:(关于SpringCloud中,使用 Hystrix的问题)