2011-06-29 230 views
2

我正在尋找一種方法來發送請求並接收來自另一方的回叫。信息系統設計

唯一的問題是我們現在不會在接收端如何設計/部署它。

我們確實定義並同意了基於文本/ JSON的消息。

看着RabbitMQ和其他人,但每個都需要一個需要維護的服務器。

感謝,

+0

請您分享一些更多信息?有些事情會有所幫助: - 詳細說明您嘗試使用消息傳遞解決的問題。 - 有關郵件格式的詳細信息也可能有助於人們。 - 有關您的消息格式,大量字節或很少的大小信息? - 您的應用程序可以接受什麼響應時間?毫秒,小號,小時? - 預計每秒請求數? 我建議查看Joe Armstrong或任何Erlang傢伙關於消息的演示視頻,這些概念仍然適用於任何語言。 http://www.infoq.com/presentations/Message-Passing-Concurrency –

+1

達恩,沒有意識到評論將被格式化爲:-( –

回答

1

RabbitMQ很容易維護。您可以使用兩個隊列,一個用於請求,另一個用於回覆。使用AMQP correlation_id標頭標記請求和回覆,以便在收到回覆消息時可以與原始請求進行匹配。

但是,如果經紀人不適合你,那麼使用ZeroMQ。它是一個可用於十幾種語言的客戶端庫,它可以在套接字之上執行消息傳遞模式。這意味着您的應用程序不必執行所有低級套接字管理。相反,你將套接字聲明爲REQ/REP,ZeroMQ處理所有其餘的。你只需以任何你想要的格式發送消息,然後你就會收到消息。

我用ZeroMQ在Python中使用REQ/REP實現了一個memcache風格的應用程序。

1

@ user821692:你不得不承認,不僅報文格式,而且目的地/傳輸協議。對於例如如果通信雙方都可以訪問位於任何位置的相同隊列,則它們可以傳送預定義的消息。你也可以看看通過HTTP發送消息。

+0

感謝您的答覆! – user1231231412