prontera / spring-cloud-rest-tcc

以Spring Cloud Netflix作为服务治理基础, 展示基于tcc思想所实现的分布式事务解决方案
2.58k stars 1.21k forks source link

关于Hystrix Dashboard以及Zipkin的问题 #10

Closed raydl007 closed 7 years ago

raydl007 commented 7 years ago

1.Hystrix Dashboard打开请求地址localhost:8193/turbine.stream?cluster=prontera,结果是提示下载一个文件,而不是与README里面的页面 2.Zipkin里面有order,product,account,tcc,但是没有merbership

raydl007 commented 7 years ago

`2017-06-21 12:21:36.424 WARN 6600 --- [InstanceMonitor] c.n.t.monitor.instance.InstanceMonitor : Stopping InstanceMonitor for: localhost:10848 prontera

com.netflix.turbine.monitor.instance.InstanceMonitor$MisconfiguredHostException: [{"timestamp":1498018896390,"status":503,"error":"Service Unavailable","message":"MaxConcurrentConnections reached: 5","path":"/78d504ff-82e8-4a87-82e8-724d72d1171b/hystrix.stream"}] at com.netflix.turbine.monitor.instance.InstanceMonitor.init(InstanceMonitor.java:318) at com.netflix.turbine.monitor.instance.InstanceMonitor.access$100(InstanceMonitor.java:103) at com.netflix.turbine.monitor.instance.InstanceMonitor$2.call(InstanceMonitor.java:235) at com.netflix.turbine.monitor.instance.InstanceMonitor$2.call(InstanceMonitor.java:229) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748)` hystrix一直在报错

prontera commented 7 years ago
  1. 需要打开Hystrix Dashboard的后台管理地址之后才能输入需要检测的路径,后台管理地址为http://localhost:8193/hystrix。如果未曾学习过Spring Cloud整合Hystrix的话可以先学习一下官方简单的demo,这样有助于加深理解。
  2. zipkin仅会记录通过ribbon、feign等的请求链路,而membership是基于事件驱动,所以肯定是不会显示在zipkin的管理平台当中的。
  3. MaxConcurrentConnections reached 5 我以前曾经遇过,那次是因为我打开了多个hystrix.stream监控窗口导致达到了上限,而目前我经过简单地测试并不能replay你所说的异常。
raydl007 commented 7 years ago

恩,已经解决我之前的问题了,谢谢. 另外,我想问下你是通过什么途径学习的,能否推荐一些书籍给我,不胜感激

prontera commented 7 years ago

我当时是拜读liaokailin这位博主的博客而入门的,入门之后就阅读Spring Cloud的官方文档,边读边总结,途中遇到坑就Google,翻阅别人的issue。关于Spring Cloud方面的书籍因为没有阅读过,所以不敢贸然推荐,从我的角度来说Spring Cloud的更新速度太快,书籍的更新速度远不如博客更新的速度,所以我更推崇通过阅读官方文档和博客作为学习的途径。

raydl007 commented 7 years ago

好的,你觉得在生产环境使用spring-cloud是否妥当,国内有没有上线的案例,我现在正在为以后项目做技术选型,看了注入dubbo,motan等等,有些不知所以了

prontera commented 7 years ago

无论是SOA还是微服务都是将系统按照某种维度的拆分,拆分过后无论是维护还是开发都要有更多的投入,这点是肯定的。在这个前提之下我们看看Dubbo和Spring Cloud,Dubbo是阿里的老项目,基于RPC进行调用。而Spring Cloud属于Netflix和Spring的产物,其更新速率十分快,并且文档较为完善,更有注册中心,降级熔断,调用链追踪等组件,如果你有留意Spring Cloud的官网可以看到有这样一段描述

e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state

Spring Cloud的目标是一套完整的微服务解决方案,而反观Dubbo就没有提供那么多的功能。但凡事有一个过渡期,现阶段Dubbo在国内用的最多是毋庸置疑的,Spring Cloud正在蓬勃地发展,我相信携程可能已经有部分使用Spring Cloud了,论据在于他们所开源的管理配置平台Apollo,这是一个好的苗头。至于技术选型需要根据多方面的判断了,如开发人员水平及其学习意愿,后期维护的人数,同时还要注意墨菲定律和康威定律等一系列因素。以上仅为本人的愚见,希望能帮到您。

raydl007 commented 7 years ago

您客气了,感觉您应该是比较资深的架构师了,而我刚刚开始做,很多地方有待摸索.对于您给的意见我会认真思考,耽误您宝贵的时间了,如果还有其他问题还要麻烦您不吝赐教