【复盘】记录一次类型不一致导致的Kafka消费异常问题

背景

业务主要是通过A系统向B系统写入Kafka,然后B系统消费Kafka 将结果写到Kafka中,A进行消费最终结果。

在整个流程中,A写入Kafka会写入一张 record1表记录,然后在A消费最终结果的时候也记录一张record2表。主要改动的话 只是B系统内进行写入数据,但是没有想到用的同一个Map导致前后的一个变量值String类型转换成Integer类型。导致下游系统解析错误。由于上线后没有感觉会影响到这块,所以差不多3 4个小时后才发现,所以造成比较大的影响。

事故

补救措施:由于日志中有最终消费结果,所以从日志中拉取到最终的结果,然后在生产机器上进行重新推送这波数据。

总结

事前:对于需求 可能的难点 有问题的地方需要全方位的考虑清楚。最笨的方法就是一个案例一个案例过一遍整体的流程。

事中:上线后需要及时观察总体的数据,不能只看改动的地方,这样即使出现问题后,也可以在短时间内找到问题,然后解决,将故障时间缩小到最小范围。

事后:出现问题后,需要及时复盘,影响已经造成 可以从中吸取到一定的教训。

相关推荐
一条大祥脚9 小时前
【CS336】lecture7 多卡|通信架构|集合通信|NCCL|通信原语|torch.distributed
分布式·架构·nccl·多机多卡·集合通信
程序员梅雨11 小时前
ZooKeeper面经总结
java·大数据·linux·分布式·后端·zookeeper·中间件
我是人✓12 小时前
Git入门:从零开始掌握分布式版本控制
分布式·git
guo_wen_qiang15 小时前
redis持久化
数据库·redis·分布式
buligbulig16 小时前
Hadoop正在失败?不,它正在壮大
大数据·hadoop·分布式
十年Java程序媛16 小时前
Redis 分布式锁 + GZIP 压缩缓存踩坑|高并发缓存真实线上复盘
java·开发语言·spring boot·redis·分布式·缓存·面试
啦啦啦啦啦zzzz17 小时前
分布式存储----缓存组
linux·服务器·c++·分布式·缓存
guo_wen_qiang20 小时前
kafka重复消费
分布式·kafka
霸道流氓气质20 小时前
分布式锁(Distributed Lock)详解
分布式
j7~21 小时前
【仿 RabbitMQ 项目】发布订阅消息队列 (篇九):队列数据管理,内存镜像 + SQLite 持久化实现
数据库·c++·分布式·sqlite·rabbitmq·队列数据管理