对于面试题,“什么是链路追踪”?
咱们应该怎么答复呢?
大家好,我是 Mic,一个工作了 14 年的 Java 程序员
这个问题,面试官想考查什么呢?
问题解析
链路追踪是分布式架构下的一种监控形式。
对于一些规模较大的分布式系统,一个用户的申请,可能须要波及到多个子系统的流转。
而且随着业务的一直增长,服务之间的调用关系也会越来越简单。
在这样一个背景下,咱们一方面须要去理解整个申请链路的调用关系,去定位到性能问题。
另一方面还须要从整体到部分展现各项零碎指标,疾速实现故障定位和回复。
所以产生了链路追踪的需要。
最早的链路监控零碎是 Google 的 Dapper,在 2010 年的时候 Google 公布了一篇论文介绍 Dapper 的整体设计。
目前市面上所有的链路监控零碎都是在它的实践模型下衍生进去的。
包含阿里的鹰眼、公众点评的 cat、Twitter 的 Zipkin 等等
有了全链路监控工具,解决以下几个方面的问题:
- 申请链路追踪,故障疾速定位:能够通过调用链联合业务日志疾速定位错误信息。
- 可视化:各个阶段耗时,进行性能剖析。
- 依赖优化:各个调用环节的可用性、梳理服务依赖关系以及优化。
- 数据分析,优化链路:能够失去用户的行为门路,汇总剖析利用在很多业务场景。
考查指标
考查这个问题的公司,个别都是有肯定规模的中大型互联网企业。
因为一些小型企业自身的技术架构并不简单,因而没必要去做链路追踪这方面的设计,有点浪费资源。
而且这个问题考查的点个别不会太深刻,除非是面对比拟资深的求职者,可能还会持续理解链路追踪的实现原理。
倡议求职者依据本身状况简单明了把这个问题表述分明即可。
高手:
链路追踪是一种针对分布式架构下实现申请链路可视化监控的一种技术。
它的外围目标就是去理解分布式系统中的申请调用行为,从而从整体到部分具体展现各项零碎指标。
实现故障的疾速定位,缩短故障排除的工夫。
罕用的链路追踪工具有 Zipkin、Skywalking、Cat、Pinpoint。
不过,链路追踪只是分布式链路监控工具外面的外围之一,除此之外,还包含可视化、服务依赖关系的梳理、数据分析等能力。
如果你喜爱我的作品,记得点赞珍藏加关注!!!
须要 Java 面试材料合集扫下方!
版权申明:本博客所有文章除特地申明外,均采纳 CC BY-NC-SA 4.0 许可协定。转载请注明来自
Mic 带你学架构
!
如果本篇文章对您有帮忙,还请帮忙点个关注和赞,您的保持是我一直创作的能源。欢送关注同名微信公众号获取更多技术干货!