/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
JGroups是一个可靠的群组通信的Java库,它由三部分组成,类似套接字的API,用于应用开发,协议栈,实现可靠的沟通,以及一套构件,给人以开发者高层次的抽象(例如ReplicatedHashMap,一个高级的抽象,java.util.Map的实现)。
JGroups是一个开源的纯java编写的可靠的群组通讯工具。其是一个可靠的组播通讯工具集(需要说明的是,这并不是说必须要使用IP Multicast,JGroups也可以使用TCP来实现)。其工作模式基于IP多播,但可以在可靠性和群组成员管理上进行扩展。其结构上设计灵活,提供了一种灵活兼容多种协议的协议栈,对于每个产品都有不同的可靠性需求。这种协议栈可以让用户定义的自己可靠性指标和性能指标。JGroups可以用来创建一个组,这个组中的成员可以给其他成员发送消息。
JGroups 配置
PING: 发现初始成员
MERGE2: 将网络层切分的包重新合并。
FD_SOCK: Failure Dectection 错误检测,基于TCP
FD:Failure Dectection 错误检测,基于心跳
VERIFY_SUSPECT: 检查貌似失败的节点
pbcast.NAKACK: 应答,提供可靠传输
UNICAST: 可靠的UNICAST
pbcast.STABLE: 计算广播信息是否稳定
VIEW_SYNC: 定期广播view(成员名单)
pbcast.GMS: Group membership, 处理joins/leaves/crashes等
FC: 流量控制
FRAG2:Fragmentation layer,分包,将大的数据包分拆成适合网络层传输
JGroups的可靠性体
对所有接收者的消息的无丢失传输(通过丢失消息的重发)
大消息的分割传输和重组
消息的顺序发送和接收
原子性:消息要么被所有接收者接收,要么全不
JavaGroups的成员关系管理体现在
可以知道组内有哪些成员
成员的加入,离开,掉线等的通知
JGroups的可靠性体现在:
1、对所有接收者的消息的无丢失传输(通过丢失消息的重发)
2、大消息的分割传输和重组
3、消息的顺序发送和接收
4、原子性:消息要么被所有接收者接收,要么全不
JavaGroups的成员关系管理体现在:
1、可以知道组内有哪些成员
2、成员的加入,离开,掉线等的通知
JavaGroups的主要功能特征:
1、组的创建与删除。组成员能在LAN或WAN环境内互相发送消息
2、组的成员加入或离开
3、组成员的检测和通知:加入,离开,掉线
4、检测与移除已掉线的成员
5、消息的组播 (member-to-group或point-to-multipoint)
6、消息的点对点发送 (member-to-member或point-to-point)
7、支持UDP (IP Multicast), TCP, JMS等传输协议
8、免费开放源代码