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

背景

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

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

事故

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

总结

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

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

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

相关推荐
Leaf吧21 分钟前
分布式定时任务(xxl-job)
java·分布式
青灯文案12 小时前
RabbitMQ 四种交换机(Direct、Topic、Fanout、Headers)详解
分布式·rabbitmq·ruby
煤烦恼5 小时前
kafka整合flume与DStream转换
分布式·kafka
快乐点吧5 小时前
启动命令汇总(Redis / Kafka / Flume / Spark)
redis·kafka·flume
小马爱打代码16 小时前
SpringBoot原生实现分布式MapReduce计算
spring boot·分布式·mapreduce
南客先生16 小时前
互联网大厂Java面试:RocketMQ、RabbitMQ与Kafka的深度解析
java·面试·kafka·rabbitmq·rocketmq·消息中间件
悻运16 小时前
如何配置Spark
大数据·分布式·spark
懒惰的橘猫17 小时前
Spark集群搭建之Yarn模式
大数据·分布式·spark
2401_8242568617 小时前
Spark-Streaming
大数据·分布式·spark
知其_所以然18 小时前
如何使用@KafkaListener实现从nacos中动态获取监听的topic
kafka