diff --git a/webapps/docs/cluster-howto.xml b/webapps/docs/cluster-howto.xml index f789079..b75d098 100644 --- a/webapps/docs/cluster-howto.xml +++ b/webapps/docs/cluster-howto.xml @@ -210,6 +210,7 @@ should be completed:
Synchronous vs. asynchronous is configured using thechannelSendOptions
flag and is an integer value. The default value for the SimpleTcpCluster/DeltaManager
combo is
8, which is asynchronous.
+ See the configuration reference for more discussion on the various channelSendOptions
values.
For convenience, channelSendOptions
can be set by name(s) rather than integer,
diff --git a/webapps/docs/config/cluster.xml b/webapps/docs/config/cluster.xml
index 36bbf0d..6a47eb9 100644
--- a/webapps/docs/config/cluster.xml
+++ b/webapps/docs/config/cluster.xml
@@ -145,6 +145,33 @@ Tomcat cluster. These include:
+ The various channelSendOptions
values offer a tradeoff between throughput on the sending
+ node and the reliability of replication should the sending node fail. Here are some common options. In this discussion
+ "message" could be any message sent between the nodes, but in the context of this dicussion it applies to session changes
+ being replicated to other nodes.
+
+ channelSendOptions="8"
+ As far as the sender is concerned, the message is sent
+ as soon as it has been placed in the queue on the sender for
+ transmission to the other nodes. The message may not reach all of the
+ recipient nodes and may not be successfully processed on those nodes that it does reach.
+ This option offers the most throughput on the sender but the least reliability, as the
+ triggering request will complete without any knowledge of the success/failure of the session replication.
+
+ channelSendOptions="2"
+ The sender will block the completion of the current request until all of the receiving nodes
+ have acknowledged that they have received the message, but have not necessarily processed
+ that message.
+ This option will result in less throughput on the sending node, because the message must be transmitted
+ and the acknowledgement received, but the reliability is greater than the asynchronous model.
+
+ channelSendOptions="6"
+ The sender will block the completion of the current request until
+ all of the receiving nodes have acknowledged that they have received and
+ processed the message.
+ This option will have the least throughput (of these three) but the greatest reliability.
+
You may also set these options as a comma separated string, e.g. "async, multicast", which
will be translated into Channel.SEND_OPTIONS_ASYNCHRONOUS | Channel.SEND_OPTIONS_MULTICAST