簡介
JGroups是一個開源的純java編寫的可靠的群組通訊工具。其是一個可靠的組播通訊工具集(需要說明的是,這並不是說必須要使用IP Multicast,JGroups也可以使用TCP來實現)。其工作模式基於IP多播,但可以在可靠性和群組成員管理上進行擴展。其結構上設計靈活,提供了一種靈活兼容多種協定的協定棧,對於每個產品都有不同的可靠性需求。這種協定棧可以讓用戶定義的自己可靠性指標和性能指標。JGroups可以用來創建一個組,這個組中的成員可以給其他成員傳送訊息。JGroups使用靈活的協定棧,這也是JGroups最強大(the most powerful)的功能,它允許開發人員配置協定棧來適用於他們自己的套用需求和網路特徵。這樣做的好處在於,開發人員只需要關注他們使用到的協定。通過組合和匹配各種協定來滿足各種不同套用的需求。
優點
JGroups是一個可靠的群組通訊Java工具包。它基於IP組播(IP multicast),但在可靠性,組成員管理上對它作了擴展。JGroups的可靠性體現在:
1,對所有接收者的訊息的無丟失傳輸(通過丟失訊息的重發)
2,大訊息的分割傳輸和重組
3,訊息的順序傳送和接收
4,原子性:訊息要么被所有接收者接收。
功能
JGroups的主要功能如下:1)創建和刪除組,組成員可以分布在區域網路或廣域網中。
2)組成員加入和離開組
3)成員關係的自動偵測並通知成員的加入,離開和丟失(原文是crashed,大意就是說沒有通知的離開吧)
4)偵測並刪除丟失的成員
5)傳送和接收成員到組的訊息(點到多點)
6)傳送和接收成員到成員的訊息(點到點)
JGroups 適合使用場合伺服器集群cluster、多伺服器通訊、伺服器replication(複製)、分散式cache快取等。
版本發布
2010年07月13日,JGroups 2.10 正式版發布。2010年10月30日 ,JGroups 2.11 Final 發布,該版本包含一些新特性、最佳化和bug修復,而下一個版本2.12將是3.0之前的最後一個版本。
2011年11月18日,JGroups 3.0.0.Final 發布,該版本本來只是要做一些 API 的改變(這些改變已經是多年前的要求了),後來又包含了一些最佳化,都是關於在大集群環境下的最佳化。例如降低訊息包的大小,最佳化協定以提升記憶體的使用效率。
2012年02月11日,JGroups 3.1.0.Alpha2 發布了,儘管是 alpha2 版,但該版本還是相當穩定,而且將會在很短時間內發布穩定版。
2012年07月09日,JGroups 發布了兩個新版本,分別是 3.0.11 和 3.1.0 。
JGroups 3.0.11 用於 EAP 6 / JBoss 7.x 套用伺服器的版本,主要是 bug 修復,包含兩個性能方面的改進。
而 3.1.0 解決了超過 90 個問題。