微服务链路监控有哪些好的实践?

项目要微服务化了,有哪些好的调用链路监控实践?

2回答

尘世随缘尘世随缘  技术总监 , 上海某互联网金融公司
PanMichael挚爱咖啡daixg2018等赞同了此回答
APM的选择性比较多,有开源的,有收费的,目前市面的系统基本都是参考Google的Dapper论文来开发的。如果预算充足,可以选择收费的企业版。好处是比较稳定,遇到问题有专人负责解答。如果研发资源充足,又想自己造轮子,可以选择开源版本,如skywalking,Pinpoint,Zipkin,CAT。skywalking,...显示全部

APM的选择性比较多,有开源的,有收费的,目前市面的系统基本都是参考Google的Dapper论文来开发的。如果预算充足,可以选择收费的企业版。好处是比较稳定,遇到问题有专人负责解答。如果研发资源充足,又想自己造轮子,可以选择开源版本,如skywalking,Pinpoint,Zipkin,CAT。
skywalking,Pinpoint:基本不用修改源码和配置文件,只要在启动命令里指定javaagent参数即可,对于运维人员来讲最为方便;
Zipkin:需要对Spring、web.xml之类的配置文件做修改,相对麻烦一些;
CAT:需要在程序中硬编码,侵入性比较大。
具体选择哪个,这个根据业务团队的熟悉具体产品的程度来决定。

收起
 2019-07-04
  • [此评论已删除]
    2019-07-05
  • [此评论已删除]
    2019-07-05
  • 给力
    2019-07-05
  • 我追问一下,一条调用链路如何打标埋点,让其在监控端查看的时候可以看到完整调用链路?
    2019-07-09
  • 2010年的时候,谷歌发布过Dapper的论文,可以搜索下。如何打标埋点,你先理解下以下几个名词的意义: traceid:整个调用链路中的traceid是相同的,这样可以通过一个traceid找到系统间所有交互过的请求和响应 spanid:仅仅有traceid,无法精确的得知到底是哪个服务先被调用的,哪个服务后被调用的,spanid和parentSpanid组合起来就可以表示成一个树形的调用关系 如果自己没办法抉择的话,可以使用skywalking,开箱即用。也可以自定义埋点信息
    2019-07-09
gxcornflakesgxcornflakes  信息技术经理 , 某金融单位
江中芦苇赞同了此回答
1、商业产品,无疑使用dynatrace,相对简单实用2、有技术能力的,大规模应用建议使用zipkin或者skywalking,如果需要做到真正的全链路跟踪(如阿里的天眼),包括采集服务间链路跟踪日志、中间件日志、应用日志),可在基于zipkin进行二次开发,zipkin和springcloud天然集成,属于侵入式,但难点...显示全部

1、商业产品,无疑使用dynatrace,相对简单实用
2、有技术能力的,大规模应用建议使用zipkin或者skywalking,如果需要做到真正的全链路跟踪(如阿里的天眼),包括采集服务间链路跟踪日志、中间件日志、应用日志),可在基于zipkin进行二次开发,zipkin和springcloud天然集成,属于侵入式,但难点均是需和ELK做集成,以便根据链路和日志快速定位问题,skywalking属于后起之秀,方便之处在于应用协同agent启动进行信息采集,如何与ELK集成未深入研究。小规模应用,可以使用韩国开源产品pinpoint。

收起
 2019-07-05

问题状态

  • 发布时间:2019-07-03
  • 关注会员:3 人
  • 问题浏览:1785
  • 最近回答:2019-07-05
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2020  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30