我有一个场景,系统a将从系统b获取信息。
选项/方案
b会将消息发送到一个主题,让a和其他相同主题的消费者一起使用优点-对于b来说,事情很简单缺点-a必须使用所有与a无关的消息
b将把信息发送到一个只供a使用的主题,a将只获取与a相关的信息,b将把信息发送到另一个只供a使用的主题
b将一个rest api托管由a支持-a不必担心消息消耗缺点-b必须为一个消费者a调用api,这不是一个可扩展的方法。
为了提供更多信息,在我的例子中,与b发送给a的所有消息相比,与a相关的消息在数量上非常少
如果a感兴趣的消息数量非常少(比如说x天内有100条消息)与主题中发布的消息总数(x天内有几百万条消息)相比,那么a是否有理由像选项1那样从主题中读取所有这些消息。
从生产者(b)的Angular 来看,c听起来不太好,因为b不能为每个有类似需求的新消费者调用api。
当我在寻找更好的解决方案(如果有的话)的时候,我想知道其他的想法。
更新如下
选项4B将向主题发送消息,以便a与同一主题的其他使用者一起使用,但密钥可被a用作过滤/拒绝。
选项4听起来更好,而且会有更多的探索。
1条答案
按热度按时间c2e8gylq1#
选项4是一个更好的主意,因为在这种情况下,a将只读取与其相关的消息。因此,在为配置使用者时,您只能分配保存a的分区密钥的分区。