Kafka多线程消费并发报错记录

2023-06-15  本文已影响0人  Bigglesworth

kafka消费的时候起来多个线程来对应partition,我们处理消费数据的业务逻辑是先按主键删除,然后再插入新的数据;

但是由于topic产生的数据同一个主键会一秒内有100条左右,分布在多个partition,所以多个线程会同时执行删除和插入,

这会导致数据库产生主键冲突,因为有的线程已经写入了,有的在删除,混在一起。导致不停的报错,主键已存在。

解决方法就是给处理删除和插入的方法加一个锁,我这里用的是sychronized加到方法上,就够用了。

上一篇 下一篇

猜你喜欢

热点阅读