2011-03-26 45 views
0

那麼我打算實現服務器和客戶端之間的配對連接,截至目前,我已經使用rabbitMq將數據和代碼塊發送到從系統,並且從系統執行它。但是我無法再將代碼發送回服務器,因爲rabbitMq具有Publisher/subscriber模型的經典實現。有什麼辦法可以解決這個問題,並確保服務器也從奴隸系統獲取結果?我正在使用rabbitMQ的python綁定。如何使用RabbitMQ實現服務器客戶端之間的配對連接?

回答

3

您可以使用RabbitMQ(甚至任何消息傳遞系統)輕鬆地模擬RPC語義。您所需要的只是一種相關標識符的形式,以便可以將響應消息跟蹤並解釋爲原始請求的「答案」。

幸運的是,RabbitMQ在線文檔有一個entire page with examples關於如何使用Python來做到這一點。

+0

我確實讀到過,但是我忘記提到的一個關鍵點是,在從系統中實現的代碼將在運行時給出。就我所知,在RPC中,函數必須在從系統中定義,才能被調用。 – Rahul 2011-03-27 07:00:00

+1

忘掉術語「RPC」,而是認爲「請求後跟一個響應」。換句話說,你的奴隸不一定需要一個可以遠程調用的「程序」。它只需要從傳入隊列中讀取消息,對其進行處理,然後將回復消息發佈回代理,以便主服務器可以接收它(以及前面提到的相關標識),並解決您的問題。從某種意義上說,「程序」就是你將要在從機上處理這些消息並進行相應的回覆。 – 2011-03-27 17:06:29

相關問題