java - Kafka - SimpleConsumer 如何与消费者组关联?

标签 java apache-kafka

卡夫卡新手。

我对 Kafka 的 API 真的很困惑:

  • 0.9 版本与 0.8 完全不同。

  • 然后是simpleConsumer、highlevel Consumer和consumer group

    1. 当我实例化 SimpleConsumer 时,它是否与消费者组关联?或者消费者组是高级消费者使用的抽象?
    2. 如果我不关心消息或重复项的顺序,我可以实例化 2 个从同一分区读取的 simpleConsumers 吗?
    3. 有没有办法使用 simpleConsumer 读取主题而不指定分区?

最佳答案

正如您所指出的,Kafka 0.9 中有一个新的消费者 API,两个旧的消费者 API 仍然存在,但可能会在未来的版本中停用,以支持新的 API。

消费者组概念仅与高级消费者相关,是协调消费者实例从同一组主题读取的帮助器,以避免重复消息,并在消费者实例崩溃等情况下允许自动故障转移的并行性.当使用简单的消费者API时,您必须自己处理这种协调,因此您还需要指定要读取的分区,并且这也不妨碍您让多个消费者从同一分区读取。

我不知道一个好的用例,您需要多个消费者从同一个分区读取数据,但如果您想将其用于不同的目的,您可以使用具有多个消费者组 ID 的高级 API他们将彼此独立工作。

关于java - Kafka - SimpleConsumer 如何与消费者组关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34422110/

相关文章:

apache-kafka - 在 Kafka Connect 中使用自定义转换器?

java - Kafka 0.10.2 消费者获得大量重复项

apache-kafka - react 堆 Kafka : ReactiveKafkaProducerTemplate

java - JTextArea 中的国际化字符串

java - 逆向斐波那契数列

java - java Map 可以返回-1 的大小吗?

java - java中对String[]数组列表进行排序

java - Spring 集成 Kafka 和管理偏移量

java - 尝试以编程方式通过 jmx 访问 kafka 指标时出错

java - 关于 "A classpath variable is deprecated"的警告信息