我是使用RabbitMQ的初学者。我想知道是否可以将数据从消费者发送到另一个消费者。
让我解释一下,
我想在我的应用程序中实现Pipeline pattern来管道类执行。
示例:
// payload = 20 (at the entrance)
$pipeline = (new Pipeline)
->pipe(function ($payload) {
return $payload * 10;
})
->pipe(function ($payload) {
return $payload + 10;
})
->pipe(function ($payload) {
return $payload - 5;
})
;
// payload = 205 (at the end)
我想要做的是在消费者中执行第一个回调,当它完成时将计算数据发送给另一个消费者,依此类推。最后将205
作为$payload
的值。
我只想知道是否可以用RabbitMQ做到这一点?
非常感谢您的回复,:))
答案 0 :(得分:1)
当然可以。一个rabbitmq客户端同时只是消费者和发布者,其中每个“功能”都在两个独立的线程中,每个线程都使用自己的通道。
另请注意,您永远不会直接向消费者发送消息,而是将消息(以某种方式)路由到绑定到它的队列的交换机。消费者将自己“附加”到队列中并从中消费。