向Kafka中的许多应用程序发送消息的最佳实践

时间:2018-10-19 06:49:15

标签: apache-kafka messaging kafka-consumer-api

我的主题有很多分区。我希望许多应用程序都读取该主题中的所有消息。一些应用程序经常阅读,而其他应用程序则在午夜阅读。

对于stackoverflow或书籍中的此问题,我没有找到任何帮助。

我如何在kafka中实现它?

谢谢

1 个答案:

答案 0 :(得分:0)

您需要Kafka使用者才能让您的应用程序使用来自Kafka主题的消息。如果您的每个应用程序都需要使用所有消息,则必须为每个应用程序分配一个不同的组ID。

Kafka将主题的分区分配给组中的使用者。它还可以保证消息仅由组中的单个使用者读取。分区是Kafka中并行性的级别(如果您有2个分区,则同一使用者组中最多可以有2个使用者)。

示例:
假设您有主题example-topic,其中包含5个分区和2个应用程序,每个应用程序必须使用来自example-topic的所有消息。您将需要两个不同的消费者组(每个应用程序一个),第一个应用程序说group.id=app-group-1,第二个应用程序说group.id=app-group-2。在每个使用者类别中,您最多可以启动5个使用者,以使用您主题中的消息。因此,多达5个消费者将订阅主题example-topic并属于group.id=app-group-1,另外5个消费者将订阅主题example-topic并属于group.id=app-group-2

相关问题