关闭。这个问题需要更加突出重点。它目前不接受答案。**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。改进这个问题我有一个有许多分区的主题。我希望许多应用程序读取此主题的所有消息。有些应用程序经常阅读,有些则在午夜阅读。我在stackoverflow或book中找不到任何帮助。我怎样才能在Kafka实现这一点?谢谢
cx6n0qe31#
为了让应用程序使用来自kafka主题的消息,您需要kafka使用者。如果您的每个应用程序都需要使用所有消息,那么您必须为每个应用程序分配一个不同的组id。Kafka将主题的分区分配给组中的使用者。它还保证消息只能由组中的单个消费者读取。partitions是kafka中的并行级别(如果有2个分区,那么在同一个使用者组中最多可以有2个使用者)。例子:说你有主题 example-topic 有5个分区和2个应用程序,每个应用程序必须使用来自 example-topic . 例如,您需要两个不同的消费者组(每个应用程序1个) 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 .
example-topic
group.id=app-group-1
group.id=app-group-2
1条答案
按热度按时间cx6n0qe31#
为了让应用程序使用来自kafka主题的消息,您需要kafka使用者。如果您的每个应用程序都需要使用所有消息,那么您必须为每个应用程序分配一个不同的组id。
Kafka将主题的分区分配给组中的使用者。它还保证消息只能由组中的单个消费者读取。partitions是kafka中的并行级别(如果有2个分区,那么在同一个使用者组中最多可以有2个使用者)。
例子:
说你有主题
example-topic
有5个分区和2个应用程序,每个应用程序必须使用来自example-topic
. 例如,您需要两个不同的消费者组(每个应用程序1个)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
.