我正在开发一个应用程序,其中实时传感器读数通过RabbitMQ队列传递给上传器,上传器将读数推送到中央服务器。在这个特定的应用中,最新的读数是最有价值的。这意味着我希望上传者首先处理最新的阅读,并通过积累的任何积压向后移动。
为了达到这个效果,我希望RabbitMQ有一个“堆栈”结构,消费者首先会收到最新消息。但是,我在RabbitMQ文档中找不到这样的东西。
我想出的一个解决方案是创建一个“实时”队列和一个“积压”队列。实时队列中的消息将具有短TTL,因此如果未快速处理,则将其移动到积压。这解决了首先推送最新读数的问题,但积压仍然会以错误的顺序处理。
关于如何在RabbitMQ中实现最新消息优先处理的任何建议?