我是 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 做到这一点?
非常感谢您的回复,:)
最佳答案
是的,当然。一个rabbitmq客户端将同时充当消费者和发布者,其中每个“功能”将位于两个独立的线程中,并且每个线程都使用自己的 channel 。
另请注意,您永远不会直接向消费者发送消息,而是向交换器发送消息,该交换器将消息(以某些方式)路由到与其绑定(bind)的队列。消费者将自己“附加”到队列并从中消费。
关于php - RabbitMQ - 将数据发送给另一个消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43630251/