我想有选择地从 AMQP 队列中删除消息,甚至不阅读它们。
场景如下:
发送方希望基于 X 类型的新信息到达的事实使 X 类型的消息过期。因为订阅者很可能还没有消费 X 类型的最新消息,所以发布者应该删除以前的 X 类型消息并将最新的消息放入队列中。整个操作对订阅者应该是透明的——事实上他应该使用像 STOMP 这样简单的东西来获取消息。
如何使用 AMQP 做到这一点?或者也许在另一个消息传递协议中更方便?
我想避免复杂的基础设施。所需的整个消息传递就像上面一样简单:一个队列、一个订阅者、一个发布者,但发布者必须具有根据给定条件临时删除消息的能力。
发布者客户端将使用 Ruby,但实际上,一旦我发现如何在协议中执行它,我就会处理任何语言。