我正在寻找在任何比较流行的消息队列(AMPQ、RabbitMQ、ActiveMQ等)中有条件地延迟消息传递的可能性。
例如:
System A sends a message(foo, condition = bar.x > 1);
System B sends a message(bar, x = 2)由于系统B的消息满足系统A的消息设置的条件,所以消息被解锁并传递。
是否存在这样的战略?
发布于 2015-08-05 11:37:36
是的,和RabbitMQ在一起。
你需要两件事:
RabbitMQ没有处理逻辑语句或代码的能力。但是您已经在编写代码了,所以您可以在代码中轻松地做到这一点。
如果条件为真,则将消息发送到延迟消息Exchange。如果不是真的,请将您的消息发送到正常的交换。
https://stackoverflow.com/questions/31828164
复制相似问题