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]