使用C#如何rabbitmq取消所有消费者连接

发布网友 发布时间:2022-04-22 09:42

我来回答

1个回答

热心网友 时间:2023-05-10 22:30

目前的代码,一旦consumer获取到message,那么这个message就立刻从queue里面移除(自动的消息接收确认);但是如果还没有处理该message,worker被kill,那么这个消息就没有被成功处理;此外,一个consumer可能同时收到了多个消息,这些消息也相当于丢失;
此时,需要使用消息的手动确认机制,处理成功之后,通知rabbitmq服务器将消息删除;如果没有收到确认消息,改消息状态变成unacked,不会删除;如果rabbitmq重启或者当前client链接失效或者当前worker失效,unacked的消息会参与重新分配,有consumer重新处理;追问现在我有个需求是,使用rabbitmq通过发布订阅模式,如果开发的api接口需要更新,我想到的是取消所有客户端连接。请问有什么好办法实现吗

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com