前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统监控-分布式调用链Skywalking

系统监控-分布式调用链Skywalking

作者头像
秋日芒草
发布2019-06-19 10:49:37
6470
发布2019-06-19 10:49:37
举报
文章被收录于专栏:JavaWebJavaWeb

1. 为什么要使用分布式调用链技术?

随着公司业务的高速发展,公司服务之间的调用关系愈加复杂,如何理清并跟踪它们之间的调用关系就显的比较关键。线上每一个请求会经过多个业务系统,并产生对各种缓存或者 DB 的访问,但是这些分散的数据对于问题排查,或者流程优化提供的帮助有限。在这样复杂的业务场景下,业务流会经过很多个微服务的处理和传递,我们难免会遇到这些问题:

  • 一次请求的流量从哪个服务而来? 最终落到了哪个服务中去?
  • 为什么这个请求这么慢? 到底哪个环节出了问题?
  • 这个操作需要依赖哪些东西? 是数据库还是消息队列?
  • Redis挂了,哪些业务受影响?

2. 开源产品从多,可以从如下几个方面去选型。

我们需要达到的目标:

  • 低消耗性:跟踪系统对业务系统的影响应该做到足够小。在一些高度优化过的服务,即使一点点损耗也容易察觉到,而且有可能迫使在线负责的部署团队不得不将跟踪系统关停
  • 低侵入性:作为非业务组件,应当尽可能少侵入或者无侵入业务系统,对于使用方透明,减少开发人员的负担
  • 时效性:从数据的收集产生,到数据计算处理,再到最终展现,都要求尽可能快
  • 决策支持:这些数据是否能在决策支持层面发挥作用,特别是从 DevOps 的角度
  • 数据可视化:做到不用看日志通过可视化进行筛选

实现的功能:

  • 故障定位:调用链路跟踪,一次请求的逻辑轨迹可以完整清晰的展示出来。
  • 性能分析:调用链的各个环节分别添加调用耗时,可以分析出系统的性能瓶颈,并针对性的优化。
  • 数据分析:调用链是一条完整的业务日志,可以得到请求的行为路径,汇总分析应用在很多业务场景。

开源产品:

  • Twitter 公司开源的分布式追踪系统 Zipkin 
  • 韩国人开源的分布式跟踪组件 Pinpoint
  • 国产的优秀APM组件 Skywalking,
  • 其他类似的组件还有美团点评的 CAT。

分布式调用链和传统的新能监控有什么区别?

APM工具与传统的性能监控工具的区别在于,不仅仅提供一些零散的资源监控点和指标,其主要关注在系统内部执行、系统间调用的性能瓶颈分析,这样更有利于定位到问题的具体原因。

社区活跃度:

类别

Zipkin

Pinpoint

SkyWalking

CAT

start小星星数

9.7k

7.5k

4.7k

6.7k

性能分析: 

3. 综上多个方面最终选择Skywalking,搭建方式参考如下:

....

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档