分布式链路跟踪系统(一):Dapper 介绍

本文介绍了Google的Dapper分布式链路跟踪系统,用于解决分布式系统和微服务中复杂的请求处理和性能分析问题。Dapper通过全局traceId串联RPC调用,利用span记录调用详情,通过Annotation添加额外监控信息,并通过低侵入式的植入方式在RPC框架中传递跟踪数据。此外,系统支持采样率调整以平衡资源消耗与监控需求。
摘要由CSDN通过智能技术生成

概述

随着分布式系统和微服务的出现,一次用户请求可能会经过多个系统,不同服务之间的交互非常复杂,任何一个系统出错都可能影响整个请求的处理结果。以往的监控系统往往只能知道单个系统的健康状况、一次请求的成功失败,无法快速定位失败的根本原因。除此之外,复杂的分布式系统也面临这下面这些问题:

  1. 性能分析难:一个服务依赖很多服务,被依赖的服务也依赖了其他服务。如果某个接口耗时突然变长了,那未必是直接调用的下游服务慢了,也可能是下游的下游慢了造成的,如何快速定位耗时变长的根本原因呢?
  2. 链路梳理难:需求迭代很快,系统之间调用关系变化频繁,靠人工很难梳理清楚系统链路拓扑。
  3. 容量评估难:搞促销活动时,一般需要提前扩容以应对流量暴涨,然而不同促销活动、不同的流量入口对各个系统的影响是不同的,如何准确评估某个入口流量增长对下游系统的影响呢?

为了解决这些问题,Google 推出了一个分布式链路跟踪系统 Dapper,之后各个互联网公司都参照 Dapper 的思想推出了自己的分布式链路跟踪系统。

基本原理

下面的图里展示了一次用户请求引起了若干次系统之间的 RPC 调用,在这个示例里,用户请求首先到达前端系统 A,A 又调用了中间层系统 B、C,紧接着 C 又调用了两个后端系统 D、E。分布式链路跟踪系统就是要记录这一系列 RPC 调用的基本信息:调用关系、发生的时间、异常信息以及一些流量标记等。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值