我们有一个应用程序,其中有多个订阅者正在向发布者Kafka主题写入数据,然后将这些数据传播到特定的订阅者主题,然后订阅者会使用分配给它的特定主题中的数据。
我们想将SQS用于相同的目的,但是问题是我们将再次为每个订户需要一个SQS。 处理这些多个SQS会产生问题,如果有一段时间没有任何数据发布给订阅者,则分配给它的队列将处于空闲状态。
我有什么方法可以使用单个SQS,所有订阅者都可以从该消息中使用基于don消息标识符的消息。 此设计中需要涵盖的挑战是:
任何人都可以使用类似的实现建议任何体系结构。
谢谢
答案 0 :(得分:0)
我认为您可以通过设置一个SQS队列来实现。您可能想在将用作服务管理器(SM)的队列上set up a Lambda trigger。 SM将具有一个静态JSON文件,该文件定义消息标识符与其subscriber/worker
之间的映射。 SM将收到一个SQS消息事件,找到用于标识符的消息属性,然后在JSON中查找以找到相应的订户。如果找到订户,SM将调用它。
考虑使用SQS批处理触发器。