关于线程池为什么不能够提交offset

来源:7-9 面试点:Consumer限流

666_777

2021-10-24

1.为什么线程池,无法提交offset。是不准确么,还是无法控制。
2.如果实现callable接口去实现,然后根据他的future对象返回值是true或者false,如果有一个false就不进行offset提交,如果都为true在进行一个offset提交。这样可以么

写回答

1回答

Allen

2021-10-25

1、因为Consumer是线程非安全的, 不能整个线程池共享一个Consumer提交。

2、这种控制方式是可以的, 不过你就相当于把所有任务都做成阻塞式了,一种推荐的做法是用缓存记录失败数量, 然后根据失败数量决定是否提交

0
3
Allen
回复
666_777
是不是驱动问题
2021-10-29
共3条回复

Kafka多维度系统精讲,从入门到实战开发

系统讲解Kafka,实战结合,让你成为使用Kafka的高手

896 学习 · 237 问题

查看课程