1.复杂微服务系统常见问题
对于一个大型的几十个,几百个微服务构成的微服务架构系统,通常会遇到下面的一系列问题:
(1)如何串联整个调用链路,快速定位问题?
(2)如何判断故障影响范围?
(3)如何澄清各个微服务之间的依赖关系?
(4)如何进行各个微服务接口的性能分析?
(5)如何追踪各个业务流程的调用处理顺序?
2.APM提供的性能指标
同时,我们会关注在请求处理期间,各个调用的性能指标,比如:吞吐量、响应时间、错误记录等。
(1)吞吐量:也就是TPS,根据拓扑可计算响应组件、平台、物理设备的实时吞吐量。
(2)响应时间:包括整体调用的响应时间和各个服务的响应时间等。
(3)错误记录:根据服务返回统计单位时间异常次数。
3.APM的作用
在全链路监控工具的帮助下,我们能做到以下事情:
(1)请求链路追踪,故障快速定位:可以通过调用链结合业务日志快速定位错误信息。
(2)可视化:各个阶段耗时,进行性能分析。
(3)依赖优化:各个调用环节的可用性、梳理服务依赖关系以及优化。
(4)数据分析、优化链路:可以得到用户的行为路径,汇总分析应用在很多业务场景。