作者回复: trubine对实时性要求比较高,数据处理量较大,如果微服务量多的话,建议用性能较好的虚拟机甚至物理机。一个trubine实例容量不够的话,可以进行sharding,添加新的turbine实例分摊负载。
Spring Cloud对有Turbine完善改进,支持消息队列方式,具体可以参考其文档:
https://projects.spring.io/spring-cloud/docs/1.0.1/spring-cloud.html#_turbine_amqp
作者回复: 可以理解为都是push方式,不管Hystrix应用配Turbine的地址,还是Turbine集成Eureka,这个时候不过是Hystrix从Eureka拿到Turbine的地址,然后还是Hystrix连上Turbine,可以认为建立了一个长链接,然后不断将metrics stream push到Turbine。
作者回复: hystrix dashboard主要用于实时监控,如果要配合历史监控,可将hystrix metrics再消费到后台时序数据库(如Promethues/InfluxDB等),你可以看hystrix文档,它提供相应的数据导出接口,具体要看企业监控体系,但实现并不复杂。
作者回复: turbine是有状态的(视频中解释可能有口误),一般只需1台,如果hystrix实例太多,1台管不过来,就要sharding,这个时候就需定制sharding路由机制和策略。