gpt4 book ai didi

events - RabbitMQ 消费者断开连接事件

转载 作者:行者123 更新时间:2023-12-01 15:22:32 29 4
gpt4 key购买 nike

有什么方法可以知道消费者何时与队列断开连接或队列何时被删除?

要求如下:

我正在构建一个系统,其中多个客户端可以从系统订阅某些事件。所有客户端都创建自己的队列,并使用某种身份验证向系统注册。系统在生成事件时过滤事件并将它们转发给符合条件的客户端。

我已经为其大部分实现了 POC,并且效果很好。我无法解决的一个问题是,如果客户端只是从队列中断开连接(由于程序终止等),注册仍然存在并且系统会不断尝试向该客户端推送消息。

因此,我们希望在客户端断开连接或队列被删除时收到通知,以便我们可以删除该客户端的注册数据并且不再向他推送消息。

最佳答案

让您的发布商使用 Confirms (aka Publisher Acknowledgements)并使客户端队列具有排他性和临时性,因此一次只有一个客户端会从一个队列中消费,并且在断开连接后将被删除。

如果您发布的消息仅路由到一个队列并且该队列消失了(假设您使用发布者确认并发布带有 mandatory 标志集的消息)发布者将收到通知,该消息无法通过返回给它的消息路由,因此您可以停止发布消息。

有关详细信息,请参阅 RabbitMQ blog post "Introducing Publisher Confirms" 中的如何确认工作部分和 Confirms (aka Publisher Acknowledgements)官方文档。

关于events - RabbitMQ 消费者断开连接事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24261941/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com