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

Spring Kafka消费者-云中的并发侦听器与非并发侦听器

潘星阑
2023-03-14

我已经使用Spring Kafka创建了一个Kafka消费者,并将其部署在云铸造中。该主题有10个分区。我计划将应用程序扩展到10个实例,以便每个实例可以使用来自一个分区的消息。Spring Kafka支持并发消息侦听器容器,我猜它支持从每个分区创建多个线程来使用。例如,如果我有5个消费者实例,每个消费者实例可能有2个线程从分区消耗。因为我计划为每个分区创建一个应用实例,所以使用并发消费者有什么好处吗?

因为我的首要任务是快速处理主题中的消息,所以我认为为每个分区提供一个应用程序实例将为每个分区中的消息提供足够的资源。

共有1个答案

岳英锐
2023-03-14

这是正确的,您只需要在同一消费者组中有10个单线程消费者。由于您正好有10个分区,Kafka中的重新平衡机制将在您的10个实例之间分配它们。

该容器中的并发性将是不必要的。考虑使用<代码> KafkaMessageListenerContainer <代码>。

 类似资料:
  • 要运行Kafka,需要在文件。有两种设置我不理解。 有人可以解释侦听器和广告侦听器属性之间的区别吗? 留档说: 侦听器:套接字服务器侦听的地址。 和 advertised.listeners:主机名和端口代理将向生产者和消费者做广告。 我什么时候必须使用哪个设置?

  • 这是创建ListenerContainerFactory的类 这是我用@KafKalistener注释的Listener类 这是KafkaListenerConfig类,它接受引导服务器、主题名称等。

  • 问题内容: 我的容器XML配置: 而仅仅是一个类 我已经在XML中指定了。这是什么意思 完全相同 ? 我找到了一些文档。他们没有那么有帮助的陈述: 指定要创建的并发使用者数。默认值为1。 我感兴趣的是是否必须线程安全,即 是否创建了许多实例或许多线程使用了单个实例? 如何访问不同步的实例字段? 被 实例化一次或为每个线程/实例? 确实需要是线程安全的? 问题答案: 是的,要使用并发,您的侦听器必须

  • 我在我的一个工作流应用程序中使用了Camunda BPMN2.0。在我的一个服务任务中,我在start事件中创建了一个执行侦听器,在create事件中创建了一个任务侦听器。我不确定在开始时同时分配这些是否合适。如果是正确的,它们中的哪一个将首先执行--执行监听器或任务监听器,分别在start或create事件中执行?

  • 大家好,我正在用ActiveMQ学习Spring JMS。在我的示例场景中,生产者应用程序在队列中发送大约50条消息,当我启动消费者应用程序时,它开始使用这些消息。 为每个侦听器启动的并发会话/使用者的数量。可以是表示最大值的简单数字(例如“5”),也可以是表示下限和上限的范围(例如“3-5”)。请注意,指定的最小值只是一个提示,可能会在运行时被忽略。默认值为1;如果有主题侦听器或队列排序很重要,

  • 我已将以下侦听器注册为服务。这将保存已登录的用户。它工作得很好。保存实体后,用户id位于createdBy和updatedBy中。好的,有一个小问题:命令“php-app/console-doctrine:fixtures:load”对非对象上的成员函数getUser()抛出错误“调用。这是可以理解的。直到现在我才必须在以前每次禁用该服务?你有其他解决方案吗?