卡夫卡新手。
我对 Kafka 的 API 真的很困惑:
0.9 版本与 0.8 完全不同。
然后是simpleConsumer、highlevel Consumer和consumer group
- 当我实例化 SimpleConsumer 时,它是否与消费者组关联?或者消费者组是高级消费者使用的抽象?
- 如果我不关心消息或重复项的顺序,我可以实例化 2 个从同一分区读取的 simpleConsumers 吗?
- 有没有办法使用 simpleConsumer 读取主题而不指定分区?
最佳答案
正如您所指出的,Kafka 0.9 中有一个新的消费者 API,两个旧的消费者 API 仍然存在,但可能会在未来的版本中停用,以支持新的 API。
消费者组概念仅与高级消费者相关,是协调消费者实例从同一组主题读取的帮助器,以避免重复消息,并在消费者实例崩溃等情况下允许自动故障转移的并行性.当使用简单的消费者API时,您必须自己处理这种协调,因此您还需要指定要读取的分区,并且这也不妨碍您让多个消费者从同一分区读取。
我不知道一个好的用例,您需要多个消费者从同一个分区读取数据,但如果您想将其用于不同的目的,您可以使用具有多个消费者组 ID 的高级 API他们将彼此独立工作。
关于java - Kafka - SimpleConsumer 如何与消费者组关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34422110/