数据类型不一致导致的前台业务崩溃
背景:
PHP后台保存数据到MongoDB,Go脚本读取MongoDB数据保存到Redis缓存,客户端请求接口获取Redis数据并展示
起因:
PHP保存数据时将某串id处理为了int32类型保存
结果:
Go定义该字段为string类型,导致脚本读取MongoDB后数据类型冲突,继而无法将数据保存到Redis
而客户端请求接口就无法获取当前页面数据,从而展示错误页面
反思:
1、对应已定义好的字段类型不可随意更改
2、不可想当然地认为改动较小无影响,应及时同步到数据接收方确认是否存在问题
3、及时关注脚本运行是否报错
4、对于报错信息做分发邮件处理,防止遗漏或关注不及时导致的业务崩溃