我有一个发布者(使用 RabbitMQ .NET 客户端)和多个消费者(使用 Pika Python 模块)。他们使用单个主题交换,消费者有单独的队列。我想实现分布式 RPC 风格的调用,这需要我在继续或超时之前等待回复 (JSON)。
当我发布我的消息时,我需要等待并从收到我消息的“所有”客户那里得到回复。(可能是发布者端的单个消费者。)我使用路由键发布消息,所以我不知道在发布之前有多少消费者在收听,但我仍然需要等待任意数量的客户端。
这是为了通知用户我们正在处理他们的请求,并就他们的请求是否已完全满足提供反馈。
有没有办法用 RabbitMQ 实现这一点?我不想使用 Broker 的特定 RESTful API 来获取消费者名称/消费者数量并等待循环。