注册 / 登录

58到家调用链追踪系统架构设计与实现

分会场:  架构演进/工程实践/大前端

 

案例来源 :

案例讲师

沈剑

58到家 架构师

互联网架构技术专家,曾任百度高级工程师,58同城高级架构师,58同城技术委员会主席,58同城C2C技术部负责人,58同城技术学院优秀讲师。现任58到家技术委员会主席,技术总监,负责架构,平台,中台等多个后端部门。

扫描二维码分享案例

所在软件研发中心介绍

58到家

 

建议该分享案例适用范围:

研发工程师,架构师,技术带头人

 

为什么这个案例值得分享?

调用链追踪系统对互联网公司提升bug追踪效率,找到系统中不合理调用链有很大的作用。

 

 

案例简述

 

本分享主要涉及以下几个方面:
1)调用链追踪系统解决什么问题;
2)调用链追踪系统架构设计与实现细节;
3)如何快速落地调用链追踪系统;

 

案例目标

 

场景一:线上告警短信来袭,却只知道线上系统出了问题,而不能够快速定位问题在哪里,只能从页面、服务、依赖服务、数据库一层层查看日志,查找问题所在。
场景二:上线了一个新功能,处理时间较长,却找不到瓶颈在哪里,不合理的调用在哪里,只能一行行代码检查,或者一点点增加日志来查找性能瓶颈。

下面两个问题是各互联网公司技术团队都要面临的:
1)如何快速定位线上问题
2)如何发现系统中不合理的调用关系
而这两个问题,是绝大部分公司没有很好解决的

 

成功(或教训)要点

 

为了解决上述两大痛点,研发统一的调用链跟踪系统势在必行,互联网公司在解决通用技术痛点的过程中,以下两点非常重要:
1)上游通用技术痛点,下沉统一解决;
2)快速落地比完美的架构设计更加重要;

 

案例ROI分析

 

快速落地统一调用链系统,投入成本较小,底层在统一的站点框架,服务框架,统一数据调用处(例如:数据库客户端,缓存客户端)hook一些计时点,使用upd或者日志的方式收集和汇总日志,运用一些手段将一个请求在系统中的调用时序串联,得到调用深度和广度,最近进行图形化展示,迅速实现。

 

案例启示

 

达到的效果,上线前,可以在测试环境查看上下游调用链的合理性,并快速确定性能瓶颈;上线后,如果线上告警,可以快速定位问题所在。

 

案例在团队中的意义

 

调用链追踪系统对互联网公司提升bug追踪效率,找到系统中不合理调用链有很大的作用。