2009-04-08 39 views
0

有沒有人對消息傳輸有解耦的經驗(發送者和接收者不知道/彼此關心)以及分佈式和可能遠程交互事件的低延遲?它們存在嗎?解耦和低延時的通信機制

我正在研究/開發可用於控制軟件的有形交互設備(即物理按鈕,旋鈕,滑塊,RFID傳感器/執行器)的交互技術,該軟件可以位於或不位於設備所連接的同一系統。

通常某些類型的pub/sub方法是我想要去的方式,因爲我希望每個實體只關心它生成的事件和它自己的功能。更何況,設備可能會不確定地連接和斷開連接。

該領域的一種流行技術是EventHeap,它建立在IBM的元組空間實現TSpaces上。你把事件推入一個可以拉出來的包裏。但是元組空間實現的典型性能限制是高延遲;有時會出現緊張或非確定性的潛伏期。細粒度的交互是不可接受的。

EventHeap Source

+0

更新:由於我提出了這個問題,我玩過各種版本的OpenAMQ的AMQP實現。由於各種原因,我並不十分滿意,主要是因爲消息代理依賴性。現在我正在使用Zero Message Queue:http://www.zeromq.org/它支持通過TCP,UDP,多播,進程間和內部通信通道的pub-sub,請求回覆和對等消息傳遞。 – corntoole 2010-09-30 19:32:18

回答

0

有MQ(例如Apache的ActiveMQ),它可以解決一些要點:

  • 發送者和接收者不需要知道對方
  • 的pub/sub &同行-peer

不是很確定你說的是什麼設備的功能,可能是t oo重量級,但可能值得一看。


更新:其實,這裏有一個鏈接到IBM's MQ for 'wireless and mobile applications',這可能有助於檢查出來。

+0

我實際上已經考慮過AMQP,但我需要做測試,看看運行服務器的輕量級是多少。 異步消息隊列協議(http://amqp.org)是一個開源的,語言不可知的消息傳遞協議。有C++,java,python和ruby的實現,並且橋接到JMS。 – corntoole 2009-04-09 13:25:46