11 | 链路追踪:如何选择一款适合自己项目的工具?
高楼
你好,我是高楼。
从这里开始,我们进入链路追踪改造部分,这节课,我们来看一下怎么在全链路压测项目中选择合适的链路追踪方案。
为什么需要链路追踪?
首先,我们看下这个课程的开源电商项目的部署架构。
从部署架构图中你可以很直观地看到,在微服务架构下,系统的功能是由大量的微服务协调组成的。例如:电商下单业务就需要会员系统服务(mall-member)、认证中心服务(mall-auth)、订单系统服务(mall-order)、购物车系统服务(mall-cart)逐级调用才能完成。而实际在电商企业,每个服务可能是由不同的团队进行开发,部署在成百上千台服务器上的。
这么复杂的调用链路就带来一系列问题:
如何快速发现性能问题?
如何精准判断故障影响范围?
如何梳理服务依赖以及依赖的合理性?
如何分析链路性能问题以及容量规划?
当系统发生故障的时候,我们需要一种机制对故障点进行快速定位,确认到底是哪个服务、哪个接口出了问题,那么分布式链路追踪技术由此产生。
所谓的分布式链路追踪,就是运行时通过某种方式记录下各服务之间的调用过程,再通过可视化 UI 方式帮助相关人员快速定位到故障点。 现如今,分布式链路追踪已经成为微服务架构性能监控的底层基础设施,没有它,性能分析人员就像盲人摸象,根本无法彻底了解服务间链路通信的全过程。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
分布式链路追踪在微服务架构中扮演着至关重要的角色。文章介绍了为什么需要链路追踪以及链路追踪的设计需求。在微服务架构下,系统的功能由大量微服务协调组成,因此快速发现性能问题、精准判断故障影响范围、梳理服务依赖以及依赖的合理性、分析链路性能问题以及容量规划变得至关重要。分布式链路追踪通过记录各服务之间的调用过程,并通过可视化UI方式帮助相关人员快速定位到故障点。文章还介绍了链路追踪的设计需求,包括全局监控到定向监控、各项性能指标的收集和展示、全链路压测标识透传等。通过链路追踪,可以实现请求链路追踪、可视化UI、依赖优化、数据分析和区分流量等目标。文章还介绍了不同的链路追踪组件,包括Jaeger、Zipkin、SkyWalking和Pinpoint等,并对它们进行了比较和评价。最后,文章讲述了如何在电商项目中落地Sleuth+Zipkin链路追踪解决方案,包括应用架构、组件改造和链路追踪的具体实施步骤。整体而言,本文全面介绍了链路追踪的重要性、设计需求、不同组件的比较以及在实际项目中的应用,对于需要了解链路追踪的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全链路压测实战 30 讲》,新⼈⾸单¥59
《全链路压测实战 30 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- Dyson在系统监控和链路追踪工具方面,了解到好像有skywalking+prometheus+grafana 和elastic stack(ELK) kibana两种解决方案,高老师推荐后者吗?
作者回复: 文中不是还提到了sleuth+zipkin+kafka+ES吗?并且在文中也给出各方案的优缺点。 解决方案是没有一个完美的,只有选择符合自己项目的方案。
2021-11-171 - 道长1、你知道链路追踪和系统监控的区别是什么? 我理解的是链路追踪是基于业务层服务之间的调用关系,系统监控基于硬件的指标以及配置的监控, 2、除了我列出的链路追踪组件,你还知道哪些? 我听到最多的就是apm了。
作者回复: apm也有很多种哦。
2021-11-252
收起评论