首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在kafkacat消费者之间共享信息

在kafkacat消费者之间共享信息
EN

Stack Overflow用户
提问于 2015-09-25 11:27:36
回答 2查看 2.7K关注 0票数 0

这个问题和下面的问题差不多:发送给具有相同使用者组名称的所有使用者的消息。公认的答案是使用卡夫卡0.8.1或更高版本,我这样做了。

卡夫卡文件说

如果所有的使用者实例都有相同的使用者组,那么这就像传统的队列平衡负载在使用者身上一样。

但我无法用Kafka 0.8.2.1和卡卡观察到这种行为。

我的设置:

  • Kafka +在spotify/kafka容器中运行的动物园管理员(通过boot2docker)
  • 一位制片人
  • 两个具有相同group.id的消费者

首先,在运行Kafka容器时,我创建了一个主题:

代码语言:javascript
复制
$KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 2 --topic beta

两个消费者订阅了相同的主题:

代码语言:javascript
复制
kafkacat -C -b $(boot2docker ip):9092 -t beta -X group.id=mygroup

然后我使用kafkacat生成一条消息:

代码语言:javascript
复制
date | kafkacat -P -b $(boot2docker ip):9092 -t beta

我希望只有一个消费者收到消息,但实际上他们都收到了。我做错了什么?

编辑:当我尝试使用kafka-console-consumer.sh运行相同的消费者时,一切都很好:

代码语言:javascript
复制
echo "group.id=mygroupid" > /consumer.beta.properties

$KAFKA_HOME/bin/kafka-console-consumer.sh \
  --zookeeper localhost:2181 \
  --topic beta \
  --consumer.config /consumer.beta.properties

所有这些都如预期的那样工作:消息只被消耗一次。我想问题在卡帕卡特身上。

EN

回答 2

Stack Overflow用户

发布于 2016-02-11 20:42:11

kafkacat现在支持0.9高级KafkaConsumer:

kafkacat -b <broker> -G <groupid> topic1 topic2..

票数 3
EN

Stack Overflow用户

发布于 2015-09-25 15:18:09

结果是这个特性不受图书馆员的支持 ( kafkacat正在使用的库)。引用Github问题的话

简短的回答,这是目前不支持的。另外,在Kafka文档中看到的只有在使用JVM消费者/生产者时才是正确的。假设任何其他使用者/生产者实现并不完全遵循文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32781142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档