【发布时间】:2020-06-03 15:13:53
【问题描述】:
我有一个 Spring Boot 应用程序。我希望实现一个从 Kafka 主题消费的功能,并且对于每条消费的消息,它都会调用另一个方法,对消息进行一些处理,然后将其存储在数据库中。源 kafka 主题有 12 个分区。我想在同一个消费者组下创建 6 个或 12 个 kafka 消费者。所有消费者都将消费来自 Kafka 的消息并调用该函数。我无法为此做出好的设计。有人能帮我吗 ?
【问题讨论】:
-
像往常一样,Kafka 消费者将使用来自主题的相同消息并为不同目的处理它们。如果您只是处理一条消息并将其存储到同一个数据库中,我认为您只需要创建一个消费者即可。我是否正确理解了您的帖子?
-
因此,如果我要创建具有相同消费者组的所有消费者。消费者将在分区之间进行划分。因此,如果我创建 12 个消费者,每个消费者将只从 1 个分区消费。因此,随着消费者数量的增加,我将能够从分区并行消费,并且处理速度会更快。
-
它调用另一个方法对消息进行一些处理,然后将其存储在数据库中。 - 请为此使用 Kafka Connect。不要使用 Spring 写入数据库
标签: java apache-kafka