JGroups group communication toolkit is a reliable group communication Java toolkit. It is based on IP multicast, but extends it in terms of reliability and group member management.
The reliability of JGroups is reflected in
1. Loss-free transmission of messages to all recipients (through retransmission of lost messages)
2. Split transmission and reassembly of large messages
3. Sequential sending and receiving of messages
4. Atomicity: The message is either received by all receivers or not at all.
The membership relationship management of JavaGroups is reflected in
1. You can know who are the members in the group
2. Notifications of members joining, leaving, disconnecting, etc.
Main features of JavaGroups
1. Creation and deletion of groups. Group members can send messages to each other within a LAN or WAN environment
2. Group members join or leave
3. Detection and notification of group members: joining, leaving, disconnection
4. Detect and remove disconnected members
5. Multicast of messages (member-to-group or point-to-multipoint)
6. Point-to-point sending of messages (member-to-member or point-to-point)
7. Support UDP (IP Multicast), TCP, JMS and other transmission protocols
8. Free and open source code