Wcp生产事故报告_2019年4月4日
一、生产事故问题:
1,4月4日早上,用户陆续反馈xx服务、xx,接收消息有丢失,或延迟。
2,4月4日中午,游戏平台反馈,xx服务号邀请卡游戏判断新用户失败。
二、事故原因分析:
微信中控于4月3日23:00后执行版本迭代更新,更新内容为:
1, 个性化菜单,通用菜单,全员群发(屏蔽),一元红包。本次更新内容不影响之前的系统稳定性。对其他业务不具备耦合性。所以排除掉是迭代更新的内容导致生产故障。
2, Kafka切换服务器
3, Es 搜索引擎切换服务器
4, 修改getUser的逻辑,增加在缓存和数据库拿不到去微信拿一次数据并缓存(该项未有在发版清单里)
关于消息部分丢失或延迟,经排查发现因以下原因造成
1, 多节点某些节点有问题。225-228上面启动了未授权端口的mp-provider dubbo服务,导致部分消息发送失败。
解决措施:
切换kafka为原来的kafka
停掉225-228上面mp-provider,修改jenkins分发代码配置,删除225-228服务器上多余脚本和目录。
关于判断新用户失败,经排查发现因以下原因造成
1, 获取用户信息接口新增需求,导致事件通知模块判断是否新用户逻辑冲突,所有用户都会是老用户。
解决措施:回滚getUser的代码
三、事故总结:
1, 生产实施文档重点关注事项标红提醒,并在评审时强调说明。
2, 实际发版内容与发版清单须保持一致,充分评估发版内容的影响面,避免未经评审内容私自部署到生产环境。
3, 游戏开始前整体过程再试跑一次,提前发现问题解决。