然而,当在我的环境中测试此示例时,我得到了一个异常topic-1395414642817-47BB4DF2在4次重试后不能重新平衡
。
它的实现方式意味着一个分区只有一个使用者线程。所以我需要10个使用者线程,那么我需要10个主题分区。
我想您想拥有更多的使用者线程而不是分区吧?这一点并不为Kafka所支持。在Kafka中,每个消费者都监视自己的进度(即,它读取a分区的内容--称为它的偏移量)。如果您想要更多的使用者线程而不是分区,那么这些线程将需要彼此对话以“分离”数据。此模式是非标准的,不受支持。它也不能很好地扩展,因为如果添加更多的使用者,同步开销将很高。
每个分区只有一个使用者线程保持了Kafka的可伸缩性。最佳实践是对主题进行过度分区,以获得关于使用者线程数量的更大灵活性。
如何在apache/kafka中使用regex消费所有主题?我尝试了上面的代码,但不起作用。
我有一个主题列表(目前是10个),其大小可以在未来增加。我知道我们可以产生多个线程(每个主题)来消耗每个主题,但在我的例子中,如果主题的数量增加,那么消耗主题的线程数量也会增加,这是我不希望的,因为主题不会太频繁地获取数据,所以线程将是理想的。 有没有办法让单个消费者从所有话题中消费?如果是的话,我们怎样才能做到呢?另外,Kafka将如何维护抵消?请建议答案。
生产者发送消息到一个有四个分区的主题。我们有一个消费者在消费来自这个主题的消息。应用程序在工作日一直运行周末例外:它不会在周末期间调用poll方法。 使用者配置:自动提交,自动提交时间为5s(默认)。 应用程序一直运行良好,直到一个星期天,当它重新开始调用poll方法。我们看到有数百万条消息从这个话题中被轮询出来。消费者基本上是轮询来自主题的所有消息。将新的偏移量与它在周末停止之前的偏移量进行比较
我的问题与单个消费者从多个话题消费有关。假设所有主题都加载了1M个记录,一个使用者必须处理这些记录。它将按照什么顺序从主题中读取(我的意思是首先读取哪个主题/分区,等等) Kafka内部资料的任何链接会有帮助吗?
我们正在开发一个应用程序,我们想听Kafka中不止一个主题。所有主题都有一个分区。所有主题名称都有一个公共的前缀,例如“test-x”、“test-y”,所以我们可以对它使用spring。 我们希望编写一个java spring使用者,它使用模式监听所有主题。我们的想法是,我们可以运行同一个消费者(属于同一个组)的多个实例,Kafka将为不同的消费者分发来自不同主题的消息。 然而,这似乎并不奏效。
我有一个spring boot项目,我是spring-kafka来连接底层的kafka事件枢纽。 我不得不在同一节消费者课上听2个不同的话题。我有两种方法可以这样做。 一个是要有两个这样的Kafka听众: 另一种方法是在同一个kafkaListener中有两个主题,如下所示 ===================edit===============application.yml中的Kafka属性