我有一個節點網絡。節點必須能夠相互發送消息。消息只能從節點發送到節點(即沒有廣播)。節點知道他們必須發送消息的節點的地址。節點不一定知道他們將從誰那裏接收。一些節點(稱爲主節點)可能接收消息並將消息發送到非常多的節點(> 100k)。哪個消息服務用於Java中不可靠的網絡
我希望能夠從一個節點發送持久性消息到另一個節點。即使在不可靠的網絡上,我也希望這會異步發生。即我希望消息服務爲我處理重發,確認等。
我已經嘗試使用ActiveMQ與經紀人的靜態網絡(在我的小設置中只有2個節點),如在http://activemq.apache.org/networks-of-brokers.html中所解釋的。這對我的設置工作正常,但我預計將有大約100k節點與單個節點(稱爲主節點)相關聯,然後必須運行100k代理才能將消息轉發到所有關聯的節點。所有節點可能偶爾發送,主節點有時可能必須發送到其他節點的幾個(> 10k)(注意:沒有廣播,因爲它們都收到不同的消息)。
我想象中使用的一個設置可以在這張圖片http://i154.photobucket.com/albums/s260/sheep_p/communication.png中看到,其中柱面表示隊列。這裏每個節點都有一個入站隊列和一個出站隊列。
什麼技術可以用來實現這一點,需要什麼樣的配置這種技術?
該技術必須與Java協同工作並擁有免費的私人或學術許可。
所以你想通過不可靠的網絡建立可靠的通信和高可擴展性?你有沒有檢查netty? –
@ nikolay-kuznetsov感謝評論我一定會看看netty。回答你的問題:不,我以前沒有考慮過。 – abondoa