我需要消费来自不同kafka主题的消息,
谢谢&问候, 梅加
答案 0 :(得分:3)
唯一的规则是你必须考虑卡夫卡所做的事情,并不能保证:
我最近遇到了一个错误,因为我的应用程序使用单个Consumer订阅了许多主题。每个主题是每个消息一个图像的实时图像馈送。由于所有主题始终都有新图像,因此每个poll()仅返回第一个主题中的图像进行注册。
如果处理所有消息很重要,您需要确保每个消费者可以比创建消息更快地处理来自其所有订阅主题的消息。如果它不能,那么您需要更多的消费者在同一组中进行读取,或者您必须对某些消息可能永远不会被处理这一事实感到满意。
显然,一个消费者/主题是最简单的,但它确实增加了一些额外消费者的开销。您必须根据自己的需要确定这一点是否重要。
正确回答问题的唯一方法是评估您的应用程序的特定要求和功能,并在Kafka的限制内构建适用于和的内容。
答案 1 :(得分:1)
这实际上取决于您的应用程序的逻辑 - 它是否需要在一个地方一起查看所有消息。有时,根据应用程序的业务逻辑,单个主题的消费可能更容易实现。