1.背景知识
dns,域名
2.问题现象
今天下班前线上项目突然发现问题,系统顾问审核合通过,没有添加响应记录。其实昨天就有用户反馈,测评,产品,开发都没有重视,以为是用户操作问题,进入一个合理业务分支。今天下午业务人员找上门,重现问题,没有走合理分支,无话可说,马上着手解决。
3.影响范围
线上系统全部由影响。
4.问题原因
前两天,某一批老的公司域名到期,运维清除了某些二级域名解析。
5.问题分析过程
5.1开始以为渲染层或者controller有问题,看js,好像没有问题。
5.2.数据记录查询,初步判断用户某一个记录没有添加,猜测审核过程中某一个接口调用是失败,该接口出问题或者系统报错。
5.3.查找该接口,由于这块代码别人写的,逻辑我印象不深了,判断不出接口到底在那个系统。
5.3.手机微信工具调试,查找最初的审核入口,查找代码,找到添加用户记录的那个接口,发现接口地址是老域名的,当时没反应出该域名已经被下架。
5.4 该接口属于明文接口,直接在浏览器上试了下,域名解析报错,问题查明。
6.解决办法
优先把丢失的记录补上,让运维添加了那个域名的解析。
7.后续处理措施
同时改域名,改写成新域名。
8.经验教训
该问题难度不大,其实通过日志或者操作入口就能发现问题。改老旧代码问题是个有风险的问题,大胆人的工作。平时冒着出bug的风险重构,真心是每个开发者都能做的吗,还是需要找个平衡点,要不老旧问题迟早爆发。还有业务换域名真心要想好,成本太高。还有有些img1.xxxxxx.com这种容易记错的二级域名还是少用吧。
9.RCA类型
运维问题,陈旧代码不愿意改。