Author: fhanik
Date: Wed Oct 11 10:16:44 2006
New Revision: 462865
URL: http://svn.apache.org/viewvc?view=rev&rev=462865
Log:
Update documentation
Modified:
tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-membership.xml
tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml
Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-membership.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-membership.xml?view=diff&rev=462865&r1=462864&r2=462865
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-membership.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-membership.xml Wed Oct 11
10:16:44 2006
@@ -26,9 +26,9 @@
The default implementation of the cluster group notification is built on
top of multicast heartbeats
sent using UDP packets to a multicast IP address.
Cluster members are grouped together by using the same multicast
address/port combination.
- Each member sends out a heartbeat with a given interval
(<code>mcastFrequency</code>), and this
+ Each member sends out a heartbeat with a given interval
(<code>frequency</code>), and this
heartbeat is used for dynamic discovery.
- In a similar fashion, if a heartbeat has not been received in a timeframe
specified by <code>mcastDropTime</code>
+ In a similar fashion, if a heartbeat has not been received in a timeframe
specified by <code>dropTime</code>
ms. a member is considered suspect and the channel and any membership
listener will be notified.
</p>
</section>
@@ -48,31 +48,32 @@
This implementation uses multicast heartbeats for member discovery.
</p>
</attribute>
- <attribute name="mcastAddr" required="false">
+ <attribute name="address" required="false">
<p>
The multicast address that the membership will broadcast its presence
and listen
for other heartbeats on. The default value is <code>228.0.0.4</code>
Make sure your network is enabled for multicast traffic.<br/>
- The multicast address, in conjunction with the <code>mcastPort</code> is
what
+ The multicast address, in conjunction with the <code>port</code> is what
creates a cluster group. To divide up your farm into several different
group, or to
- split up QA from production, change the <code>mcastPort</code> or the
<code>mcastAddr</code>
+ split up QA from production, change the <code>port</code> or the
<code>address</code>
+ <br/>Previously known as mcastAddr.
</p>
</attribute>
- <attribute name="mcastPort" required="false">
+ <attribute name="port" required="false">
<p>
The multicast port, the default value is <code>45564</code><br/>
- The multicast port, in conjunction with the <code>mcastAddr</code> is
what
+ The multicast port, in conjunction with the <code>address</code> is what
creates a cluster group. To divide up your farm into several different
group, or to
- split up QA from production, change the <code>mcastPort</code> or the
<code>mcastAddr</code>
+ split up QA from production, change the <code>port</code> or the
<code>address</code>
</p>
</attribute>
- <attribute name="mcastFrequency" required="false">
+ <attribute name="frequency" required="false">
<p>
The frequency in milliseconds in which heartbeats are sent out. The
default value is <code>500</code> ms.<br/>
In most cases the default value is sufficient. Changing this value,
simply changes the interval in between heartbeats.
</p>
</attribute>
- <attribute name="mcastDropTime" required="false">
+ <attribute name="dropTime" required="false">
<p>
The membership component will time out members and notify the Channel if
a member fails to send a heartbeat within
a give time. The default value is <code>3000</code> ms. This means, that
if a heartbeat is not received from a
@@ -82,14 +83,14 @@
verify a timeout using a TCP connection when a heartbeat timeout has
occurred. This protects against false positives.
</p>
</attribute>
- <attribute name="mcastBindAddress" required="false">
+ <attribute name="bind" required="false">
<p>
Use this attribute if you wish to bind your multicast traffic to a
specific network interface.
By default, or when this attribute is unset, it tries to bind to
<code>0.0.0.0</code> and sometimes on multihomed hosts
this becomes a problem.
</p>
</attribute>
- <attribute name="mcastTTL" required="false">
+ <attribute name="ttl" required="false">
<p>
The time-to-live setting for the multicast heartbeats.
This setting should be a value between 0 and 255. The default value is
VM implementation specific.
@@ -101,11 +102,11 @@
The <code>org.apache.catalina.tribes.Member.getDomain()</code> method
returns the value specified here.
</p>
</attribute>
- <attribute name="mcastSoTimeout" required="false">
+ <attribute name="soTimeout" required="false">
<p>
The sending and receiving of heartbeats is done on a single thread,
hence to avoid blocking this thread forever,
you can control the <code>SO_TIMEOUT</code> value on this socket.<br/>
- If a value smaller or equal to 0 is presented, the code will default
this value to mcastFrequency
+ If a value smaller or equal to 0 is presented, the code will default
this value to frequency
</p>
</attribute>
Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml?view=diff&rev=462865&r1=462864&r2=462865
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/cluster-receiver.xml Wed Oct 11
10:16:44 2006
@@ -15,32 +15,89 @@
<section name="Introduction">
-
-
-
+ <p>
+ The receiver component is responsible for receiving cluster messages.
+ As you might notice through the configuration, is that the receiving of
messages
+ and sending of messages are two different components, this is different from
many other
+ frameworks, but there is a good reason for it, to decouple the logic for how
messages are sent from
+ how messages are received.<br/>
+ The receiver is very much like the Tomcat Connector, its the base of the
thread pool
+ for incoming cluster messages. The receiver is straight forward, but all the
socket settings
+ for incoming traffic are managed here.
+ </p>
</section>
+<section name="Blocking vs Non-Blocking Receiver">
+ <p>
+ The receiver supports both a non blocking,
<code>org.apache.catalina.tribes.transport.nio.NioReceiver</code>, and a
+ blocking, <code>org.apache.catalina.tribes.transport.bio.BioReceiver</code>.
It is preferred to use the non blocking receiver
+ to be able to grow your cluster without running into thread starvation.<br/>
+ Using the non blocking receiver allows you to with a very limited thread
count to serve a large number of messages.
+ Usually the rule is to use 1 thread per node in the cluster for small
clusters, and then depending on your message frequency
+ and your hardware, you'll find an optimal number of threads peak out at a
certain number.
+ </p>
+</section>
<section name="Attributes">
-
<subsection name="Common Attributes">
-
<attributes>
-
<attribute name="className" required="true">
-
</attribute>
-
-
</attributes>
-
-
</subsection>
-
+ <subsection name="NioReceiver">
+ <attributes>
+ <attribute name="className" required="true">
+ </attribute>
+ <attribute name="address" required="false">
+ </attribute>
+ <attribute name="bind" required="false">
+ </attribute>
+ <attribute name="direct" required="false">
+ </attribute>
+ <attribute name="port" required="false">
+ </attribute>
+ <attribute name="selectorTimeout" required="false">
+ </attribute>
+ <attribute name="maxThreads" required="false">
+ </attribute>
+ <attribute name="minThreads" required="false">
+ </attribute>
+ <attribute name="ooBInline" required="false">
+ </attribute>
+ <attribute name="rxBufSize" required="false">
+ </attribute>
+ <attribute name="txBufSize" required="false">
+ </attribute>
+ <attribute name="securePort" required="false">
+ </attribute>
+ <attribute name="soKeepAlive" required="false">
+ </attribute>
+ <attribute name="soLingerOn" required="false">
+ </attribute>
+ <attribute name="soLingerTime" required="false">
+ </attribute>
+ <attribute name="soReuseAddress" required="false">
+ </attribute>
+ <attribute name="soTrafficClass" required="false">
+ </attribute>
+ <attribute name="tcpNoDelay" required="false">
+ </attribute>
+ <attribute name="timeout" required="false">
+ </attribute>
+ <attribute name="autoBind" required="false">
+ </attribute>
+ <attribute name="useBufferPool" required="false">
+ </attribute>
+ </attributes>
+ </subsection>
+ <subsection name="BioReceiver">
+ <attributes>
+ <attribute name="className" required="true">
+ </attribute>
+ </attributes>
+ </subsection>
</section>
-
-
</body>
-
</document>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]