rt,我这边遇到个问题,需要 kafka 多线程消费数据。
已知同一个 groupid,能控制多个消费者竞争问题,不会出现同一条数据被多个消费者重复读取。
但是多个线程同时去读,是否必须手动提交 offset,auto_commit 不知道能否满足要求?
我在网上看到的 case,基本上是让本地建个临时 sqlite 库,根据 partion 和线程对应去消费,手动提交 offset 。
比如:https://www.cnblogs.com/lshan/p/11647485.html
我不知道最佳实践是怎样的?
各位大佬,很急在线等!
1
billlee 2021-07-28 01:01:15 +08:00
每个 partition 只能被一个线程读取。自动提交 offset 只对非正常退出时丢数据有影响。
|
2
akmonde OP @billlee 嗨,大佬,那我之前提出的记录 offset 和 partion 有必要么,还是每次手动提交 offset 就行。
|
3
JKeita 2021-07-28 09:58:25 +08:00
一个消费者多个线程?不同线程对应一个分区?这种应该只能手动控制了吧
|