一个应用程序(生产者)正在发布消息,而这些消息正在被另一个应用程序(具有多个使用者)使用。生产者发送数据与外地国家,我们将有多个消费者在我们的应用程序,每个消费者将订阅特定的国家。
从我到目前为止所读到的,我们可以有两种过滤消息的方法:
我的问题是,我们应该选择方案1还是选择2?我们预计每隔几秒钟就会收到数百条信息。
发布于 2022-07-28 09:14:10
根据我的经验,通常使用第一种方法。
第二个选择是有问题的。如果你增加了一个新的国家呢?您将需要向主题添加一个分区,这是可能的,但不是简单的。您还需要更改生产者和conusmer方面的逻辑。如果用户只订阅了主题,那么在发生故障时,分区将自动分配给使用者组中的活动消费者。在您的情况下,您需要使用编程逻辑来处理故障。
另一种办法是每个国家都有一个专题。
另一种方法是将所有数据发布到一个主题中,然后使用Kafka应用程序将数据分发给其他主题(每个用户)。如果需求发生变化,那么您将更改Kafka应用程序的实现。
https://stackoverflow.com/questions/73149556
复制相似问题