Jgroups is Reliable and Multicast.
We use UDP - Multicast
##
## Multicast
##
#
# Consolidate multicast address and port settings in one location for easier
# maintenance. These settings must correlate to your physical network
# configuration (i.e. firewall, switch, and other network hardware matter)
# to ensure speedy and accurate communication across a cluster.
#
# Each address and port combination represent a conversation that is made
# between different nodes. If they are not unique or correctly set, there
# will be a potential of unnecessary network traffic that may cause slower
# updates or inaccurate updates.
#
#
# See the property "cluster.link.channel.properties.control".
#
multicast.group.address["cluster-link-control"]=239.255.0.1
multicast.group.port["cluster-link-control"]=23301
#
# See the properties "cluster.link.channel.properties.transport.0" and
# "cluster.link.channel.system.properties".
#
multicast.group.address["cluster-link-udp"]=239.255.0.2
multicast.group.port["cluster-link-udp"]=23302
#
# See the property "cluster.link.channel.system.properties".
#
multicast.group.address["cluster-link-mping"]=239.255.0.3
multicast.group.port["cluster-link-mping"]=23303
#
# See the properties "net.sf.ehcache.configurationResourceName" and
# "net.sf.ehcache.configurationResourceName.peerProviderProperties".
#
multicast.group.address["hibernate"]=239.255.0.4
multicast.group.port["hibernate"]=23304
#
# See the properties "ehcache.multi.vm.config.location" and
# "ehcache.multi.vm.config.location.peerProviderProperties".
#
multicast.group.address["multi-vm"]=239.255.0.5
multicast.group.port["multi-vm"]=23305
##
## Cluster Link
##
#
# Set the cluster node bootup response timeout in milliseconds.
#
cluster.link.node.bootup.response.timeout=10000
#
# Set this to true to enable the cluster link. This is required if you want
# to cluster indexing and other features that depend the cluster link.
#
cluster.link.enabled=false
#
# Set the JGroups properties for each channel, we support up to 10 transport
# channels and 1 single required control channel. Use as few transport
# channels as possible for best performance. By default, only one UDP
# control channel and one UDP transport channel are enabled. Channels can be
# configured by XML files that are located in the class path or by inline
# properties.
#
cluster.link.channel.properties.control=UDP(bind_addr=localhost;mcast_group_addr=${multicast.group.address["cluster-link-control"]};mcast_port=${multicast.group.port["cluster-link-control"]}):PING:MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:FD_ALL:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):UNICAST(timeout=300,600,1200,2400):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096):pbcast.GMS(join_timeout=5000;print_local_addr=true)
cluster.link.channel.properties.transport.0=UDP(bind_addr=localhost;mcast_group_addr=${multicast.group.address["cluster-link-udp"]};mcast_port=${multicast.group.port["cluster-link-udp"]}):PING:MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:FD_ALL:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):UNICAST(timeout=300,600,1200,2400):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096):pbcast.GMS(join_timeout=5000;print_local_addr=true)
#cluster.link.channel.properties.transport.1=udp.xml
#cluster.link.channel.properties.transport.2=mping.xml
#
# Set JGroups' system properties. System properties have higher priority
# than individual properties given to each channel. That means system
# properties will override individual properties.
#
cluster.link.channel.system.properties=\
#
# Common
#
\
jgroups.bind_addr:localhost,\
#jgroups.bind_interface:eth0,\
\
#
# Multicast
#
\
jgroups.mping.mcast_addr:${multicast.group.address["cluster-link-mping"]},\
jgroups.mping.mcast_port:${multicast.group.port["cluster-link-mping"]},\
jgroups.mping.ip_ttl:8
#
# Set this property to autodetect the default outgoing IP address so that
# JGroups can bind to it. The property must point to an address that is
# accessible to the portal server, www.google.com or your local gateway.
#
cluster.link.autodetect.address=www.google.com:80
##
## Cluster Executor
##
#
# Set this to true to enable the cluster executor debugging. This will
# attach a debugging listener which will log every cluster event it
# receives.
#
cluster.executor.debug.enabled=false