我開始開發分佈式應用程序,我們有一個很大的困境!我們需要一個通信庫易於使用,並具有以下特點:爲分佈式應用程序選擇通信庫
- 可靠的通信
- 組/渠道
- 單播
- 組播
- 自動發現
- 安全
- 支持通過多種編程語言支持
- 支持多種操作erating系統
- 支持地理分佈是一個加號
這個應用
這種分佈式項目背後的主要想法是有一個前端,後端(處理應用程序)和上百家代理商的幾句話它將從一些數據中心收集數據。代理和後端之間的通信應該儘可能簡單,我們應該有可能推動配置或從代理中提取實時數據。代理和後端之間傳輸的最低安全性是必需的。另外,我們應該有可能在後端羣集中實時添加/刪除新節點。如果後端羣集的節點數量發生變化,代理應該重新分配它們的負載(可能這應該由後端通過過濾來完成)。通常,消息(代理和後端之間)不會超過1500字節,但我們有時會發送大數據包(必須進行好的分段管理)。
我們發現到現在爲止:
- 的JGroups
- 傳播
- openpgm
- zeromq
- Hazelcast
如果您在開發集羣應用經驗,請讓我知道上面的框架是哪一個適合我的項目?此外,如果您知道其他免費的圖書館適合我的項目,並沒有列出上面請讓我知道!
欲瞭解更多詳情,請參閱我的博客文章http://www.randombugs.com/cluster/choosing-communication-library-distributed-application.html,但請在這裏評論stackoverflow。 – Sacx 2012-01-03 13:48:07
看看Akka http://akka.io/,它有你正在尋找的大部分功能。 – 2012-01-08 05:40:39
Akka沒有C++綁定。 – Sacx 2012-01-09 11:39:45