JGroups擴(kuò)展于可靠的單播傳輸機(jī)制(類(lèi)似TCP)至多播,它在IP多播的基礎(chǔ)上同時(shí)提供可靠性和群組功能。由于每個(gè)產(chǎn)品都有不同的可靠性需求,所以,JGroups提供一種靈活的協(xié)議棧,這種協(xié)議棧可以讓用戶(hù)根據(jù)不同的可靠性指標(biāo),在對(duì)可靠性高且速度慢和可靠性差但速度快的效果之間作出折衷的量化選擇,中國(guó)自學(xué)編程網(wǎng),www.zxbc.cn 。 其中,可靠性包括 1,消息不丟失 2,大消息拆分和重組功能 3,保證消息有序性 4,消息原子性(某條消息要么全部成員都收到,或都收不到) 群組功能包括 1,群組成員知道群組內(nèi)所有其他成員 2,當(dāng)群組發(fā)生以下的事件,所有群組成員都能收到通知: a) 新組員加入群 b) 舊組員離開(kāi)群 c) 某現(xiàn)有組員意外脫離群 IP多播與JGroup的區(qū)別如下: Unreliable Reliable Unicast UDP TCP Multicast IP Multicast JGroups
單播(Unicast)通信中,一個(gè)發(fā)送者只發(fā)送給一個(gè)接收者。單播有UDP和TCP兩種方式,UDP協(xié)議是不可靠的協(xié)議,傳輸中,包可能會(huì)丟失,重復(fù),無(wú)序且有大小限制。TCP其實(shí)也屬于單播,但TCP是可靠的,提供重傳機(jī)制防止包丟失,包的傳輸具有有序性,且TCP重組機(jī)制可以在傳送大文件前將文件分割成碎片。
在多播(Multicast)中,發(fā)送者向多個(gè)接收者發(fā)送信息,IP多播擴(kuò)展自UDP協(xié)議,發(fā)送者將消息發(fā)送給制定的多播地址,接受者加入多播地址且接收這些信息。受UDP協(xié)議限制,IP多播仍然是不可靠的,且沒(méi)有考慮到群組功能(如無(wú)法判斷哪些接收者加入了多播地址)。
|