前某公司一次线上问题解决的旅程

背景
在前某公司的 2B 业务某服务做测试工作,基本业务为上游收到消息后,发给本系统,本系统处理结束后消息发给下游

问题的出现

  1. 本系统处理新消息时报 Exception,未能入库和计算,push 了下游不能预料的消息给下游
  2. 下游采取了默认路径处理该消息

当时处理

  1. 发生问题后,迅速修改代码和上线,半小时左右问题消失
  2. 需要重新处理这半个小时的业务

后续处理

  1. ELK log 系统通过 elastic search 工具抽取所有业务数据,并去重 - 测试做
  2. 同步 ELK log 系统抽取最早的一份异常数据,分析 log,并开发程序将 log 重新整理为 rabbitMQ 的标准报文格式 - 开发做
  3. 1 的文件经 2 的程序处理后获得裸报文数据文件 - 开发做
  4. 通过 postman 批量发送 3 获得的消息,触发重新入库,计算和发布消息 - 测试做

一些想法

  1. ELK 的 log 过滤和分析还是很好用的
  2. message 是分布式系统的基本功
  3. 谈责任,开发测试反目成仇;谈补救,上阵亲兄弟各司其职

现在滚蛋了,还是很感恩和几个好兄弟一起做项目的时光啊


↙↙↙阅读原文可查看相关链接,并与作者交流