极客时间返利平台,你可以在上边通过山月的链接购买课程,并添加我的微信 (shanyue94) 领取返现。
山月训练营之面试直通车 服务上线了,从准备简历、八股文准备、项目经历准备、面试、面经、面经解答、主观问题答复、谈薪再到入职的一条龙服务。

# 生产环境的某个接口报错,如何定位

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 6 (opens new window)

通常按照以下步骤进行定位

  1. 测试环境是否能够复现,若复现在测试环境测试并修复
  2. 有没有异常报警系统,如 sentry,如果有在 sentry 中查看异常堆栈信息以及相关上下文,定位代码
  3. 如果堆栈信息不足够找到问题,看有没有链路追踪工具,如 zipkin。从 sentry 中找到 requestId/traceId,通过 requestId 结合 kibana / ElasticSearch 定位相关的数据库日志/上下游服务链路日志
  4. 如果以上都不行,查看接口相关代码

既然报错,那么一定会在异常上报系统中找到这条问题进行定位。如果在报警系统中没有定位到问题,可以查看

  1. 报警系统是否已限流,致使无法上报
  2. 复现异常时,抓包查看报警相关的 API,查看是否已上报

最怕的是那种接口没报错,但是业务方反馈数据有误的问题了,只能开了 debug,进行代码调试了

zipkin sleuth

Last Updated: 11/27/2021, 6:11:48 PM