我需要一个消息队列,我可以将消息与标签关联起来,只接收与某个标签关联的消息。
例如,假设{id:1, tags: "tag1", "tag2"}
是ID为 1 的消息,并与标记“ tag1 ”和“ tag2 ”相关联”。所以当我从队列中请求“ tag1 ”或“ tag2 ”而不是“ tag3”时,我希望收到 1 ”。
我还需要此功能来支持一次性投放,这意味着当我收到上述消息时,当要求 tag1 或 tag2 时,它将不会再次投放(至少在可见性超时内)
使用用户定义的属性过滤消息的MQ也可以工作;但它应该保证一次性传递信息。所以AMQP中的路由(例如在RabbitMQ中)对我来说不起作用,因为我相信它会在每个队列中创建一个消息副本。
我已经调查了几个MQ实现(RabbitMQ,ActiveMQ,SQS,MSMQ等),但未能找到此功能的实现。是否有支持此类消息过滤的MQ?