2010-07-08 114 views
12

我想了解我的評估和關注是否正確。DDS vs AMQP vs ZeroMQ

爲了在數據中心建立數據傳輸層,我一直在研究三種數據分發服務,AMQP和ZeroMQ。所有這三個看起來很有希望,但我遇到了一些阻塞問題。

舉一個背景下,我的要求是:

  1. 規模高達500多個物理節點,1000多個出版商和用戶。
  2. 支持消息的持久傳遞以照顧發生故障的用戶。
  3. - 聚合吞吐量應爲1萬封郵件/秒

問題與AMQP的北:

  1. 經紀架構似乎是在整個安裝部署的瓶頸和故障的中心點。我可以通過設置聯合和集羣來提高待處理消息的性能和可用性,從而使我的部署複雜化,但它們似乎仍然不具備失敗能力。
  2. 持久隊列的性能似乎非常低。我的示例應用程序只能時鐘6-7K消息/核心/隊列/應用程序。

問題與ZeroMQ:

  1. 的文件似乎是在深入一點點希望。
  2. 未決消息系統的行爲似乎在PUB/SUB通信模型中引起麻煩。請參考:How zeromq handles slow consumers with PUB/SUB mode

OpenSplice DDS: 我沒有發現缺乏,除了採用了業界DDS協議任何東西。想要了解關於此產品在穩定性,性能或限制方面的第一手評論。

+0

我稍後會深入討論您的問題,但現在要建議您添加標籤「data-distribution-service」而不是「dds」。後者似乎已被圖形編程劫持。 – 2010-07-09 11:23:42

+0

謝謝Holger,已經更新了標籤。 – Kisalay 2010-07-10 17:41:59

+2

只是爲了使鏈接的ZeroMQ討論更加微妙:對於PUB/SUB,消息隊列的大小確實存在預先設置的每用戶限制,消息在其上被丟棄。但也有ZMQ_SWAP選項,您可以使用該選項啓用磁盤交換消息。引用[1]「然而,有一條出路:ØMQ提供了一個名爲>> swap <<的東西,它是一個磁盤文件,用於保存我們不能存儲到隊列中的消息。」 [1] http:// zguide.zeromq.org/chapter:all – ron 2010-09-25 20:02:21

回答

12

我對您對OpenSplice DDS採用的擔憂感到驚訝。 OpenSplice DDS現在已部署在幾個任務和業務關鍵系統上,如海軍作戰管理系統,軍用車輛,空中交通管制和管理,城域以及高頻自動交易。只是爲了給你提供一些信息,讓你向你保證w.r.t.該技術的採用,EUROCAE推薦OMG DDS標準(由OpenSplice DDS實施的標準),以便跨泛歐洲中心交換飛行數據計劃。

讓我知道你是否有任何進一步的問題要麼通過或技術。

-AC

+2

是的,我一直在看OpenSplice的代碼,它很可怕。此外,API是一個大混亂,它是設置複雜的方式。 OpenSplice由不瞭解軟件設計原則的人編寫。而且它可能會被很多公司採用,因爲它可以工作,但如果你想發展到未來,它肯定不會走。 – fonZ 2014-06-26 11:18:14

1

看看this頁面。很多行業和公司今天都在使用DDS。