首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡夫卡过滤消息的最佳方法

卡夫卡过滤消息的最佳方法
EN

Stack Overflow用户
提问于 2022-07-28 08:26:24
回答 1查看 292关注 0票数 1

一个应用程序(生产者)正在发布消息,而这些消息正在被另一个应用程序(具有多个使用者)使用。生产者发送数据与外地国家,我们将有多个消费者在我们的应用程序,每个消费者将订阅特定的国家。

从我到目前为止所读到的,我们可以有两种过滤消息的方法:

  1. 在消费者端过滤数据:生产者可以在消息头中添加国家。消费者将通过从消息头进行检查来接收所有数据,并过滤所需的国家。不确定我们是否能够/是否应该在不同的国家有多个具有不同过滤器的消费者?或者,只有一个消费者过滤掉了国家列表,我们就自己按国家进行了聚合?
  2. ,一个有单独国家分区的主题:我们将在Producer上设置一个自定义分区,这样它就可以向特定的分区发送消息。消费者将被定向到消费国家特定消息的正确分区。

我的问题是,我们应该选择方案1还是选择2?我们预计每隔几秒钟就会收到数百条信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-28 09:14:10

根据我的经验,通常使用第一种方法。

第二个选择是有问题的。如果你增加了一个新的国家呢?您将需要向主题添加一个分区,这是可能的,但不是简单的。您还需要更改生产者和conusmer方面的逻辑。如果用户只订阅了主题,那么在发生故障时,分区将自动分配给使用者组中的活动消费者。在您的情况下,您需要使用编程逻辑来处理故障。

另一种办法是每个国家都有一个专题。

另一种方法是将所有数据发布到一个主题中,然后使用Kafka应用程序将数据分发给其他主题(每个用户)。如果需求发生变化,那么您将更改Kafka应用程序的实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73149556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档