什么是JGroups
JGroups是一个可靠的组播通讯工具集(需要说明的是,这并不是说必须要使用IP Multicast,JGroups也可以使用TCP来实现)。JGroups可以用来创建一个组,这个组中的成员可以给其他成员发送消息。
JGroups is a toolkit for reliable messaging. It can be used to create clusters whose nodes can send messages to each other. The main features include
1)Cluster creation and deletion. Cluster nodes can be spread across LANs or WANs
2)Joining and leaving of clusters
3)Membership detection and notification about joined/left/crashed cluster nodes
4)Detection and removal of crashed nodes
5)Sending and receiving of node-to-cluster messages (point-to-multipoint)
6)Sending and receiving of node-to-node messages (point-to-point)
JGroups的主要功能如下:
1) 创建和删除组,组成员可以分布在局域网或广域网中。
2)组成员加入和离开组
3)成员关系的自动侦测并通知成员的加入,离开和丢失(原文是crashed,大意就是说没有通知的离开吧)
4)侦测并删除丢失的成员
5)发送和接收成员到组的消息(点到多点)
6)发送和接收成员到成员的消息(点到点)
Flexible Protocol Stack
The most powerful feature of JGroups is its flexible protocol stack, which allows developers to adapt it to exactly match their application requirements and network characteristics.
The benefit of this is that you only pay for what you use. By mixing and matching protocols, various differing application requirements can be satisfied.
JGroups comes with a large number of protocols (but anyone can write their own), for example
1)Transport protocols: UDP (IP Multicast) or TCP
2)Fragmentation of large messages
3)Reliable unicast and multicast message transmission. Lost messages are retransmitted
4)Failure detection: crashed nodes are excluded from the membership
5)Flow control to prevent slow receivers to get overrun by fast senders
6)Ordering protocols: FIFO, Total Order
7)Membership
8)Encryption
9)Compression
JGroups使用灵活的协议栈,这也是JGroups最强大(the most powerful)的功能,它允许开发人员配置协议栈来适用于他们自己的应用需求和网络特征。这样做的好处在于,开发人员只需要关注他们使用到的协议。通 过组合和匹配各种协议来满足各种不同应用的需求。JGroups实现了一系列的协议(开发人员也可以编写他们自己的协议),例如:
传输 协议:UDP(IP Multicast),TCP,JMS 分块协议:FRAG和FRAG2用来将大消息分块发送可靠传输协议: UNICAST和NAKACK 失败侦测:FD(passive failure detection),VERIFY_SUSPECT。自动将丢失的成员排除到成员列表以外。排序协议:Atomic (发送所有或者全部不发), FIFO, Causal, Total Order (序列或基于分块) 成员协议:GMS(Group membership) 用来处理成员的加入和离开加密:AES/ECB/PKCS5Padding/RSA...对传输的数据进行加密其他还包括流量控 制,统计等
相关推荐
开发者可以在其官方网站上找到详细的技术文档、API参考和示例代码,以便更好地理解和使用JGroups。 总之,JGroups是构建分布式系统的重要工具,尤其对于需要高效、可靠通信的程序员刷题软件,JGroups提供了强大的...
根据提供的压缩包子文件"belaban-JGroups-2b52899",我们可以推断这是JGroups的一个特定版本,可能包含了源代码、文档、示例代码等资源。通过研究这些文件,开发者可以了解框架的设计理念、具体实现以及最佳实践。 ...
在"belaban-JGroups-2b52899"这个文件中,你将找到JGroups的源代码和相关文档,这对于深入理解和定制JGroups非常有帮助。源代码可以帮助你看到框架内部的工作机制,而文档则提供了详细的使用指南和API参考,帮助你...
Ehcache和JGroups是两个在分布式系统中广泛使用的开源技术。Ehcache是一个高性能、易用的Java本地缓存解决方案,而JGroups则是一个用于组通信的框架,专门处理集群中的节点间通信问题。当这两者结合时,可以构建出...
- 最后,通过JGroups发送组播命令通知集群中的其他节点清除相应的缓存。 #### 细节解析 - **Ehcache缓存自动失效**:通过注册监听器`CacheExpiredListener`实现缓存自动过期功能。 - **多region的处理**:Ehcache...
### Ehcache缓存技术知识点详解 #### 一、Ehcache概述 **1.1 背景** Ehcache 是一种高效的缓存解决方案,它主要用于改善应用性能,尤其是在 Java 应用环境中。缓存是一种重要的优化手段,通过在应用程序与物理...
根据提供的信息,《jgroup in action》是一本关于JGroups工具包的书籍,它详细介绍了如何使用...以上是对《jgroup in action》书中提到的一些关键知识点的总结,希望能帮助读者更好地理解和掌握JGroups的相关技术。
- 支持多种传输协议,例如 in-VM、TCP、SSL、NIO、UDP、JGroups 和 JXTA。 - 可插拔的架构,允许用户根据需求定制消息存储方式、安全管理机制等。 - 易于与 Application Server 集成。 - 支持多语言客户端开发,...
10. **分布式系统**:对于大规模的即时通信服务,可能需要分布式部署,JAVA的JMS(Java Message Service)和JGroups等框架可以帮助实现节点间的通信和集群管理。 通过上述知识点的综合运用,我们可以构建一个高效、...