文档章节

微服务开发架构——Spring Cloud常见问题与总结<三>Turbine 聚合数据不完整

PythonJsGo
 PythonJsGo
发布于 2017/11/01 14:48
字数 652
阅读 102
收藏 2

个人GitHub地址:https://github.com/leebingbin/

    在使用Spring Cloud的过程中,难免会遇到一些问题。所以对Spring Cloud的常用问题做一些总结。

三、Turbine 聚合数据不完整

    在某些版本的Spring Cloud (例如 Brixton SR5)中,Turbine 会发生该问题。该问题的直接观体现是:
使用 Turbine 聚合多个微服务,但在 Hystrix Dashboard 上只能看到部分微服务的监控数据。

    现象描述:

    比如 Turbine 配置如下:

turbine:
  appConfig:movieticketing-consumer-movie,movieticketing-consumer-movie-feign-hystrix-fallback-stream
  clusterNameExpression:"'default'"

    Turbine 理应聚合 movieticketing-consumer-movie,movieticketing-consumer-movie-feign-hystrix-fallback-stream 这两个微服务的监控数据,然而打开 Hystrix Dashboard 时,会发现Dashboard 上只显示部分微服务的监控数据。

    解决方案:

    当 Turbine 聚合的微服务部署在同一台主机上时,就会出现该问题。

    解决方案一:

    为各个微服务配置不同的 hostname ,并将 preferIpAddress 设为 false 或者不设置。

eureka:
  client:
    serviceUrl:
	  defaultZone:http://discovery:8761/eureka/
  instance:
    hostname:ribbon # 配置hostname

    解决方案二:

    设置turbine.combine-host-port = true

turbine:
  appConfig:movieticketing-consumer-movie,movieticketing-consumer-movie-feign-hystrix-fallback-stream
  clusterNameExpression:"'default'"
  combine-host-port:true
  

    方法三:
    升级 Spring Cloud 到 Camden 或更新版本。当然,也可单独升级 Spring Cloud Netflix 到 1.2.0以上最新稳定版(一般不建议单独升级 Spring Cloud Netflix, 因为可能会跟 Spring Cloud 其他组件冲突)。

    这是因为老版本中的 turbine.combine-host-port 默认值是 false 。Spring Cloud 已经意识到该问题,故在新的版本中将该属性的默认值设为 true 。该解决方案和方法二本质是一致的。
 

    Tips: 相关源码位置

org.springframework.cloud.netflix.turbine.TurbineProperties.combine-HostPort

org.springframework.cloud.netflix.turbine.CommonsInstanceDiscovery.getInstance(String, String, String, Boolean)

    

· 关于“Eureka常见问题”可以参考,我之前的文章《微服务开发架构——Spring Cloud常见问题与总结<一>Eureka常见问题》:https://my.oschina.net/u/3375733/blog/1555725 ;

· 关于“Hystrix/Feign 整合Hystrix后首次请求失败”可以参考,我之前的文章《微服务开发架构——Spring Cloud常见问题与总结<二>Hystrix/Feign 整合Hystrix后首次请求失败》:https://my.oschina.net/u/3375733/blog/1558095

 

本文为博主原创文章,转载请注明出处!

https://my.oschina.net/u/3375733/blog/

 

 

© 著作权归作者所有

PythonJsGo
粉丝 32
博文 104
码字总数 155493
作品 0
朝阳
高级程序员
私信 提问
微服务开发架构——Spring Cloud常见问题与总结Spring Cloud 各组件配置属性

个人GitHub地址:https://github.com/leebingbin/ 在使用Spring Cloud的过程中,难免会遇到一些问题。所以对Spring Cloud的常用问题做一些总结。 关于“Eureka常见问题”可以参考,我之前的文...

Mr_ET
2017/11/02
0
0
微服务开发架构——Spring Cloud常见问题与总结Spring Cloud 定位问题思路总结

个人GitHub地址:https://github.com/leebingbin/ 在使用Spring Cloud的过程中,难免会遇到一些问题。所以对Spring Cloud的常用问题做一些总结。 五、Spring Cloud 定位问题思路总结 根据市场...

Mr_ET
2017/11/02
0
0
跟我学Spring Cloud(Finchley版)-15-Hystrix监控详解

Hystrix提供了监控Hystrix Command的能力,本节来详细探讨。 监控端点与数据 应用整合Hystrix,同时应用包含 依赖,就会存在一个 端点,用来监控Hystrix Command。当被@HystrixCommand 注解了...

周立_ITMuch
01/22
0
0
Spring Cloud-Honghu Cloud分布式微服务云系统—技术点

鸿鹄Cloud是基于springcloud的,spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢? 下面我针对于spring cl...

itcloud
2018/04/25
0
0
微服务开发架构——Spring Cloud常见问题与总结Hystrix/Feign 整合Hystrix后首次请求失败

个人GitHub地址:https://github.com/leebingbin/ 在使用Spring Cloud的过程中,难免会遇到一些问题。所以对Spring Cloud的常用问题做一些总结。 关于“Eureka常见问题”可以参考,我之前的文...

Mr_ET
2017/10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

FPGA 设备 USB Platform Cable USB

lsusbFuture Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC

MtrS
今天
4
0
lua web快速开发指南(6) - Cache、DB介绍

"数据库"与"缓存"的基本概念 数据库与缓存是服务端开发人员的必学知识点. 数据库 "数据库"是一种信息记录、存取的虚拟标记地点的集合统称. 比如现实生活中, 我们经常会用到文件柜、书桌等等数...

水果糖的小铺子
今天
5
0
Oracle分页查询语句的写法

Oracle分页查询语句的写法 Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,Oracle分页查询语句基本上可以按本文给出的格式来进行套用。   Oracle分...

康师傅
昨天
5
0
java并发图谱

1527
昨天
2
0
Mybatis之拦截器Interceptor

使用mybatis时用PageHelper进行分页,用到了PageInterceptor,借此了解下mybatis的interceptor。Mybatis的版本是3.4.6,MybatisHelper的版本是5.1.3。 1、PageInterceptor 先上一段代码,如下...

克虏伯
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部