You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2006/10/11 19:16:45 UTC

svn commit: r462865 - in /tomcat/tc6.0.x/trunk/webapps/docs/config: cluster-membership.xml cluster-receiver.xml

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: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org