JGroup是一种可靠的群组通讯工具,用Java实现。JGroup以IP多播为基础并且提供可靠性和群组功能。
其中,可靠性包括
1,消息不丢失
2,大消息拆分和重组功能
3,保证消息有序性
4,消息原子性(某条消息要么全部成员都收到,或都收不到)
群组功能包括
1,群组成员知道群组内所有其他成员
2,当群组发生以下的事件,所有群组成员都能收到通知:
a) 新组员加入群
b) 旧组员离开群
c) 某现有组员意外脱离群
IP多播与JGroup的区别如下:
Unreliable Reliable
Unicast UDP TCP
Multicast IP Multicast JGroups
单播(Unicast)通信中,一个发送者只发送给一个接收者。单播有UDP和TCP两种方式,UDP协议是不可靠的协议,
传输中,包可能会丢失,重复,无序且有大小限制。TCP其实也属于单播,但TCP是可靠的,提供重传机制防止包丢失,
包的传输具有有序性,且TCP重组机制可以在传送大文件前将文件分割成碎片。
在多播(Multicast)中,发送者向多个接收者发送信息,IP多播扩展自UDP协议,发送者将消息发送给制定的多播地
址,接受者加入多播地址且接收这些信息。受UDP协议限制,IP多播仍然是不可靠的,且没有考虑到群组功能(如无法判
断哪些接收者加入了多播地址)。
JGroups扩展于可靠的单播传输机制(类似TCP)至多播,它在IP多播的基础上同时提供可靠性和群组功能。由于每
个产品都有不同的可靠性需求,所以,JGroups提供一种灵活的协议栈,这种协议栈可以让用户根据不同的可靠性指标,在
对可靠性高且速度慢和可靠性差但速度快的效果之间作出折衷的量化选择。
原文:http://blog.csdn.net/huangzhq/article/details/291761
分享到:
相关推荐
JGroups支持多种传输层协议,包括TCP、UDP和多播等,并允许开发人员自定义网络栈来满足特定的应用需求。JGroups的核心组成部分是**通道(Channel)**,它为应用程序提供了一个简单的API来发送和接收消息。 - **通道...
JGroups是一个开源项目,它提供了一种跨平台的、基于多播的集群通信解决方案。它支持各种通信模式,如点对点(P2P)、总线拓扑、树形拓扑等,并且具备高度可配置性。JGroups的核心功能包括: 1. **节点发现**:新...
JGroup可以基于TCP协议来实现消息广播,也可以通过UDP方式来广播消息,利弊不言而喻,TCP可靠,但是代价大,性能没有UDP来的好,UDP速度快,代价小,但是消息的丢失率以及无序性有着很大的限制。但是JGroup在UDP方式...
- **示例**: 在配置文件中定义协议栈,如使用 `TCP` 协议进行点对点通信,或者使用 `UDP` 协议进行多播通信。 ##### 1.4 Header(头部信息) - **定义**: 消息的头部包含了用于传输控制的信息,如源地址、目的地址...
组协议栈是由多个协议层组成的,如UDP、TCP、FRAG等,每个协议层都有特定的职责,如网络传输、消息分片或重传。 - **协议处理**:消息通过协议栈时,每个协议层都有机会修改或处理消息,如添加头信息、确保顺序等...
对于分布式缓存,可以设置UDP多播或TCP单播模式。多播模式下,节点通过网络广播发现彼此;单播模式则需要指定其他节点的IP地址,实现点对点通信。此外,还需要配置缓存节点,定义每个节点的名称、缓存策略等。 3. *...
JGroups是一个可靠的群组通讯Java工具包。它基于IP组播(IP multicast),但在可靠性,组成员管理上对它作了扩展。 JGroups的可靠性体现在: ...7、支持UDP (IP Multicast), TCP, JMS等传输协议 8、免费开放源代码
1. **节点均衡的网状结构**(如JBoss TreeCache):通过JGroup的多播通信协议同步数据,所有节点共享信息。 2. **Master-Slave模式**:主从复制结构,主节点负责数据管理和分发,但存在单点故障风险。 **Memcached...