当前位置: 首页 > 知识库问答 >
问题:

Kafka--不同速度的消费者

缪修德
2023-03-14

我对Kafka有一个概念上的问题。

我们有许多机器在一个主题上充当消费者,有许多分区。这些机器运行在不同的硬件设置上,将会有比其他机器具有更高吞吐量的用户。

现在,使用者和一个或多个分区之间存在直接的相关性。

共有1个答案

储修谨
2023-03-14

您不必为生产者使用默认分区器,也不必在消费者中使用动态分区分配。您可以有一个高速分区池和一个单独的低速分区池,并手动(或随机)为每个分区池分配消息和使用者。

“...不使用subscribe订阅主题,您只需调用assign(Collection)并包含您想要使用的分区的完整列表。

 String topic = "foo";
 TopicPartition partition0 = new TopicPartition(topic, 0);
 TopicPartition partition1 = new TopicPartition(topic, 1);
 consumer.assign(Arrays.asList(partition0, partition1)); 

 类似资料:
  • 我使用的是运行在AWS中的spark独立集群(spark and spark-streaming-kafka version 1.6.1),并对检查点目录使用S3桶,每个工作节点上没有调度延迟和足够的磁盘空间。 没有更改任何Kafka客户端初始化参数,非常肯定Kafka的结构没有更改: 也不明白为什么当直接使用者描述说时,我仍然需要在创建流上下文时使用检查点目录?

  • 我正在尝试让 kafka 消费者获取在 Java 中生成并发布到主题的消息。我的消费者如下。 consumer.java 当我运行上面的代码时,我在控制台中什么也看不到,屏幕后面的java producer程序正在‘AATest’主题下不断地发布数据。另外,在动物园管理员控制台中,当我尝试运行上面的consumer.java时,我得到了以下行 此外,当我运行指向 AATest 主题的单独控制台使用

  • 在处理Spark结构化流和Kinesis流时,我在重新处理流中积累的数据时遇到了不平衡读取(与读取最新数据相反)。 下一个图表显示了作为流一部分的kinesis片段的读取速度差异。 这使得spark jobs丢弃了很多事件,因为事件时间非常不同的事件会被混淆,而那些认为旧的事件会被丢弃。 最近一位团队成员建议改用Kafka。我对Apache Kafka解决这个问题有点怀疑,因为AFAIK修复我上面

  • 我有1个消费者群体和5个消费者。也有5个分区,因此每个消费者得到1个分区。 CLI还显示 bin/Kafka-console-consumer . sh-bootstrap-server localhost:9092-Topic Topic-1-from-beginning-partition { n }正确显示每个分区的不同消息。 然而,我经常看到两个或两个以上的消费者在处理同一条信息,而且对于

  • 我目前正在探索Kafka,作为一个简单问题的初学者。 将有一个生产者向一个主题推送消息,但将有n个spark应用程序的消费者从kafka发送消息并插入到数据库中(每个消费者插入到不同的表中)。 是否有可能消费者会不同步(例如消费者的某些部分会停机很长一段时间),然后一个或多个消费者不会处理消息并插入到表中? 假设代码总是正确的,在按摩数据时不会出现异常。重要的是每条消息只处理一次。 我的问题是,K

  • 我是Kafka的新手,我有一个使用Java Apache Camel库实现的Kafka消费者。我发现的问题是-消费者花了很长的时间(>15分钟)来处理很少的消息-这对于我们的用例来说是很好的。 需要一些配置帮助,因为相同的消息会在15分钟后重新发送,如果在15分钟内没有处理(我相信线程控制不会返回)。我想这可能是默认间隔,不确定这是哪一个属性。 那么,我必须在哪里修复配置 生产者级别,以便它不重新