RabbitMQ - 将数据发送给另一个消费者

时间:2017-04-26 09:31:30

标签: php rabbitmq

我是使用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做到这一点?

非常感谢您的回复,:))

1 个答案:

答案 0 :(得分:1)

当然可以。一个rabbitmq客户端同时只是消费者和发布者,其中每个“功能”都在两个独立的线程中,每个线程都使用自己的通道。

另请注意,您永远不会直接向消费​​者发送消息,而是将消息(以某种方式)路由到绑定到它的队列的交换机。消费者将自己“附加”到队列中并从中消费。