2017-04-26 71 views
1

我是一個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做到這一點?

非常感謝您的回覆,:)

+0

我正在閱讀[this](https://www.rabbitmq.com/tutorials/amqp-concepts.html)。如果我有答案,我會在這裏分享! :) – BwaBwa

回答

1

當然可以。一個rabbitmq客戶端將同時只是消費者和發佈者,其中每個「功能」將在兩個獨立的線程中,並且每個客戶端都使用自己的頻道。

另請注意,您從不直接向消費​​者發送消息,而是將消息(以某種方式)路由到與其綁定的隊列的交換機。消費者「附加」自己排隊並從中消費。

+0

這正是我所做的。非常感謝:) – BwaBwa

+0

不客氣:) – cantSleepNow