是否可以配置RabbitMQ交换或队列,使得任何时候最多一条具有给定路由密钥的消息都处于待处理状态?如果新消息到达,则旧消息将被丢弃,新消息将被排队.
如果没有这样的选项,那么在应用程序级别实现此选项的最佳方法是什么?即当应用程序收到消息时,它如何检查是否还有待处理的消息?
您需要安装Last Value Cache并启用它.您的交换将是"x-lvc"类型,它继承自直接交换类型.
每次连接到MQ时,都要创建一个队列并绑定到此交换.它会将最新消息传递给队列.它非常适合确保您只获得最新的消息.除非连接了队列,否则将丢弃发送到此交换的所有其他消息.因此,一旦连接,您将继续接收更新.
这是安装说明:https: //github.com/simonmacmullen/rabbitmq-lvc-plugin
这是一个类似的问题: RabbitMQ消息 - 初始化消费者
| 归档时间: |
|
| 查看次数: |
1199 次 |
| 最近记录: |