[关闭]
@yanglfyangl 2018-05-24T02:07:00.000000Z 字数 590 阅读 411

我们对APM调用链的期望

总体来说,我们期望APM能帮我们

  • 发现性能,稳定性等的问题。
  • 问题发生后,可以快速回溯到问题发生的原因和链路

我们的调用时序图示例:
我们的架构中,有类似如下的调用关系:

Created with Raphaël 2.1.2用户用户ControllerControllerServiceA(s)ServiceA(s)DBDBCacheCacheQueueQueueBackendServiceA(s)BackendServiceA(s)JobServiceA(s)JobServiceA(s)写数据写数据写库完成完成写缓存入队列读队列逻辑处理写库写缓存定时处理相关逻辑结果写缓存结果写DB读数据读数据读缓存如果缓存中存在返回否则,读库写缓存返回

之前提的需求:
我们在第一次和贵公司讨论完后,提了两个期望
1. 支持通过在日志中找到的调用链ID来回溯到调用链。这样可以解决类似:“如果我们发现某个订单出了问题,来找出哪个调用关系导致的问题”
2. 支持自己埋点。主要想解决的就是一旦调用链本身无法打通上面的过程,我们可以通过埋点来找到一些方法打通。

当然,对第二条,如果贵公司能够在不动我们代码的情况下打通,就最好了。

其它问题
同时,我们对调用链,还有如下问题
1. 我们使用了调用链后服务启动不了的问题的原因和解决方案。
2. 调用链对我们的性能,安全性和可靠性产生了哪些影响,有没有数据说明。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注