分布式系统调用链监控
- 应用架构由集中式向分布式演进后,整个调用关系变得复杂。
- 分布式架构由复杂且较大规模集群构成,各个应用之间相当独立,可能由不同团队、不同语言实现。
- 系统一个完整的调用过程可能横跨多个服务及数据中心。
- 复杂的调用导致系统出问题后难以定位问题。
- 无法准确知道整体系统性能及运行情况。
全链路性能监控
一个请求完整的调用链可能如下图,经过多个系统服务,调用关系复杂。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQ3chVEa0V3bT9CX5RXa2Fmcn9CXwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvwVM5cUY2w2RhZDZtJGasNjW1ZkMkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zMykjM1kjMxEjMyITM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
期间我们会关注各个调用的各项性能指标,比如吞吐量(TPS)、响应时间及错误记录等。
- 吞吐量,根据拓扑可相应计算组件、平台、物理设备的实时吞吐量。
- 响应时间,包括整体调用的响应时间和各个服务的响应时间等。
- 错误记录,根据服务返回统计单位时间异常次数。
全链路性能监控从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间。
Google Dapper
系统整个调用链
1. 当用户发起一