关于SpringCloud中,使用 Hystrix的问题
阅读原文时间:2022年02月23日阅读:1
  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. 将此地址配入 htystrix

  7. 查看是否能正确访问:

  8. 如果还是出现 Unable to connect to Command Metric Stream. 查看一下log日志。 发现是   could'n allow list. 那么在 htystrict端的 application.yml 文件中。配置host允许

    hystrix:
      dashboard:
        proxy-stream-allow-list: localhost

TRANSLATE with x

English

Arabic

Hebrew

Polish

Bulgarian

Hindi

Portuguese

Catalan

Hmong Daw

Romanian

Chinese Simplified

Hungarian

Russian

Chinese Traditional

Indonesian

Slovak

Czech

Italian

Slovenian

Danish

Japanese

Spanish

Dutch

Klingon

Swedish

English

Korean

Thai

Estonian

Latvian

Turkish

Finnish

Lithuanian

Ukrainian

French

Malay

Urdu

German

Maltese

Vietnamese

Greek

Norwegian

Welsh

Haitian Creole

Persian

 

TRANSLATE with

COPY THE URL BELOW

Back

EMBED THE SNIPPET BELOW IN YOUR SITE

Enable collaborative features and customize widget: Bing Webmaster Portal

Back

/**
     *此配置是为了服务监控而配置,与服务容错本身无关,springcloud升级后的坑
     *ServletRegistrationBean因为springboot的默认路径不是"/hystrix.stream",
     *只要在自己的项目里配置上下面的servlet就可以了
     * cloud更改前的路径应该是 /actuator/hystrix.stream
     */
    @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;
    }

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章