Session replication
The schema of the session replication mechanism.

1.1 Configuring JGroups channels
Using
JGroups is a simple and fast way to create local and networked solutions
for replicating data between several instances of application servers.
So, the key moment of installing a cluster is the correct configuration.
eXo
Portlet container uses only 1 JGroups
-related class called SessionReplicator for its session replication , so you need to configure only this class.
Configuration of this component located in the portal-framework application of portlet container, inside of resources/conf/configuration.xml (or /conf/configuration.xml in .jar ) file. There you can find both IPv4 & IPv6 example configurations of JGroups. Note, they are commented out by default, e.g. replication is disabled!. So, if you plain to use PC replication, you should uncomment ANY ONE (not both!) configuration type in this file, and possible, make changes in the configuration string in correspondence with given goals.
The main configuration info is stored in a property named "channel-config". The value of this property is string, which format looks like: "
prop1(arg1=val1):
prop2(arg1=val1;arg2=val2):
prop3".
The main configuration parameters are:
Protocol and protocol-level parameters:
"UDP(mcast_addr=228.1.2.3;mcast_port=45566;ip_ttl=32)", "TCP(mcast_addr=127.0.0.1;mcast_port=6000;ip_ttl=32)"
In
case You want to broadcast messages into a network, You must use UDP
protocol (with default settings), or TCP if you plan to use a
point-to-point connection mode (by the way in this case you need to
correct the address and port arguments).
PING, FD, UNICAST - specify packet timeout intervals, the initial number of members, the keep-alive interval etc.
For detailed explanation of the configuration options, please refer to JGroups project page - http://www.jgroups.org
After
setting up global settings, you need to correctly configure channel
names. The principle is simple - all message packets that come from "our" channel
are accepted and conversely,all packets from another channel are
rejected and console messages are generated. So you can create several
independent cluster groups in the same local network.
Network loading on different cluster configurations
Usage of network bandwidth for session replication can vary widely. Mostly, it depends on the number of nodes in a cluster, the number of users, and the size (or number) of session objects exchanged over the network. Each node produces traffic directly related with its loading factor. The typical situations with network bandwidth are shown below:
Figure 1. Typical traffic produced by one node at the maximum load.
Figure 2. Typical traffic produced by two nodes at the same computer at the maximum load. (note that here a processor-speed limit makes effect)
Figure 3. Typical traffic produced by two nodes at different computers at the maximum load.
N.B. Network speed is 100 MBits/Sec on all charts.