按请求删完了数据库里的资料,对象存储里还留着三张身份证照片,文件名就是用户手机号,客服系统那边也还有一份。日志里能对上时间点,这种反而好排。
删除只走了业务表,附件地址存在另一个字段里,文件名和用户没有强关联。外部系统靠 webhook 同步过数据,没人回头通知它删。这一点先确认清楚,后面就不用反复试。
aws s3 rm s3://bucket/uploads/13800138000/ --recursive # 先列一遍前缀,确认条数和库里对得上再删
这次卡住的地方就在「删除请求漏删」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
处理上按这个顺序:删除前把该用户的附件地址全查出来,逐个调对象存储的删除接口;给外部系统补一个删除回调,把 uid 发过去由对方清理;删除写成异步任务并记结果,失败重试三次再告警。
结果对不对很好判断,再查对象存储前缀和客服系统,两边都查不到这条数据,任务日志显示成功。
