【发布时间】:2016-08-03 14:46:43
【问题描述】:
在 RabbitMQ .NET 客户端中,QueueingBasicConsumer 已弃用。
他们建议改用EventingBasicConsumer。我以与他们相同的方式实现了IQueueingBasicConsumer 接口,并且效果很好。
但是,我很好奇为什么它被弃用以及为什么我应该使用EventingBasicConsumer?
【问题讨论】:
在 RabbitMQ .NET 客户端中,QueueingBasicConsumer 已弃用。
他们建议改用EventingBasicConsumer。我以与他们相同的方式实现了IQueueingBasicConsumer 接口,并且效果很好。
但是,我很好奇为什么它被弃用以及为什么我应该使用EventingBasicConsumer?
【问题讨论】:
【讨论】:
QueueingBasicConsumer 作为消息传递模块。我需要更新客户端并使用EventingBasicConsumer 重新实现。
阅读此discussion。 Michael Klishin 是 GitHub 上 .NET RabbitMQ 客户端的维护者。
但是,如果您不想转到不同的链接并在那里阅读,我会总结一下...
QueingBasicConsumer 在当前版本中不会自动恢复,这是针对不再存在的消息调度程序问题的解决方法。但我也认为 Alexey 是对的,性能可能也是队列引入的锁定和忙等待(在大多数实现中)的问题。
【讨论】: