[jboss-cvs] JBoss Messaging SVN: r1429 - trunk/docs/clustering/en/modules
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Oct 4 07:59:03 EDT 2006
Author: timfox
Date: 2006-10-04 07:59:01 -0400 (Wed, 04 Oct 2006)
New Revision: 1429
Modified:
trunk/docs/clustering/en/modules/configuration.xml
Log:
Added clustering config section
Modified: trunk/docs/clustering/en/modules/configuration.xml
===================================================================
--- trunk/docs/clustering/en/modules/configuration.xml 2006-10-04 00:27:30 UTC (rev 1428)
+++ trunk/docs/clustering/en/modules/configuration.xml 2006-10-04 11:59:01 UTC (rev 1429)
@@ -2,5 +2,187 @@
<title>JBoss Messaging Clustering Configuration</title>
+ <para>
+ This section describes how to configure JBoss Messaging 1.2 Alpha clustering.
+ </para>
+ <para>
+ Please note that the clustering configuration is likely to change before the 1.2 final release.
+
+ In particular we will be adding the ability for JBoss Messaging to use a pre-configured JGroups multiplex channel
+ when used inside JBoss Application Server.
+
+ </para>
+
+ <section id="config">
+
+ <para>
+ JBoss Messaging includes the concept of a "Post Office". Messages are posted at a Post Office and the Post Office routes the message
+ to it's destination queues.
+ </para>
+
+ <para>
+ In the case of JMS we always have two Post Office
+ instances running.
+
+ The first, the Queue Post Office, routes messages to JMS Queues, and the Topic Post Office routes messages to JMS Topics.
+ </para>
+
+ <para>
+ Internally JBoss Messaging only deals with the concepts of queues, and considers a topic to just be a set of queues (one for
+ each subscription).
+ </para>
+
+ <para>
+ Therefore the Queue Post Office routes a message to one and only one queue, depending on the queue name, whereas a Topic Post Office routes a message
+ to a set of queues (one for each subscription) depending on the topic name.
+ </para>
+
+ <para>
+ For clustering, we extend the concept of a Post Office to create a Clustered Post Office.
+ </para>
+
+ <para>
+ Clustered Post Office instances in a cluster connect to each other via JGroups, and when routing messages instead of just routing to local
+ queues as is the case with a non-clustered Post Office, they can also route messages to queues on other Clustered Post Office instances.
+
+ This allows us to create distributed queues and distributed topics.
+ </para>
+
+ <para>
+ In the current release of JBoss Messaging 1.2, the JGroups configuration for each Clustered Post Office is specified in the Post Office configuration.
+
+ The details of the JGroups configuration won't be discussed here since it is standard JGroups configuration.
+
+ For more information on JGroups configuration please consult http://wiki.jboss.org/wiki/Wiki.jsp?page=JGroups
+ </para>
+
+ <para>An example of a Clustered Post Office configuration is shown below</para>
+
+ <programlisting>
+ <mbean code="org.jboss.messaging.core.plugin.ClusteredPostOfficeService"
+ name="jboss.messaging:service=TopicPostOffice"
+ xmbean-dd="xmdesc/ClusteredPostOffice-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
+ <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
+ <attribute name="PostOfficeName">Clustered Topic</attribute>
+ <attribute name="DataSource">java:/DefaultDS</attribute>
+ <attribute name="CreateTablesOnStartup">true</attribute>
+ <attribute name="SqlProperties"><![CDATA[
+ CREATE_POSTOFFICE_TABLE=CREATE TABLE JMS_POSTOFFICE (POSTOFFICE_NAME VARCHAR(255), NODE_ID INTEGER, QUEUE_NAME VARCHAR(1023), COND VARCHAR(1023), SELECTOR VARCHAR(1023), CHANNEL_ID BIGINT)
+ INSERT_BINDING=INSERT INTO JMS_POSTOFFICE (POSTOFFICE_NAME, NODE_ID, QUEUE_NAME, COND, SELECTOR, CHANNEL_ID) VALUES (?, ?, ?, ?, ?, ?)
+ DELETE_BINDING=DELETE FROM JMS_POSTOFFICE WHERE POSTOFFICE_NAME=? AND NODE_ID=? AND QUEUE_NAME=?
+ LOAD_BINDINGS=SELECT NODE_ID, QUEUE_NAME, COND, SELECTOR, CHANNEL_ID FROM JMS_POSTOFFICE WHERE POSTOFFICE_NAME = ?
+ ]]></attribute>
+ <attribute name="GroupName">Topic</attribute>
+ <attribute name="StateTimeout">5000</attribute>
+ <attribute name="CastTimeout">5000</attribute>
+ <attribute name="PullSize">1</attribute>
+ <attribute name="StatsSendPeriod">10000</attribute>
+ <attribute name="MessagePullPolicy">org.jboss.messaging.core.plugin.postoffice.cluster.NullMessagePullPolicy</attribute>
+ <attribute name="ClusterRouterFactory">org.jboss.messaging.core.plugin.postoffice.cluster.DefaultRouterFactory</attribute>
+
+ <attribute name="AsyncChannelConfig">
+ <config>
+ <UDP mcast_recv_buf_size="500000" down_thread="false" ip_mcast="true" mcast_send_buf_size="32000"
+ mcast_port="45569" ucast_recv_buf_size="500000" use_incoming_packet_handler="false"
+ mcast_addr="228.8.8.8" use_outgoing_packet_handler="true" loopback="true" ucast_send_buf_size="32000" ip_ttl="32" bind_addr="127.0.0.1"/>
+ <AUTOCONF down_thread="false" up_thread="false"/>
+ <PING timeout="2000" down_thread="false" num_initial_members="3" up_thread="false"/>
+ <MERGE2 max_interval="10000" down_thread="false" min_interval="5000" up_thread="false"/>
+ <FD timeout="2000" max_tries="3" down_thread="false" up_thread="false" shun="true"/>
+ <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
+ <pbcast.NAKACK max_xmit_size="8192" down_thread="false" use_mcast_xmit="true" gc_lag="50" up_thread="false"
+ retransmit_timeout="100,200,600,1200,2400,4800"/>
+ <UNICAST timeout="1200,2400,3600" down_thread="false" up_thread="false"/>
+ <pbcast.STABLE stability_delay="1000" desired_avg_gossip="20000" down_thread="false" max_bytes="0" up_thread="false"/>
+ <FRAG frag_size="8192" down_thread="false" up_thread="false"/>
+ <VIEW_SYNC avg_send_interval="60000" down_thread="false" up_thread="false" />
+ <pbcast.GMS print_local_addr="true" join_timeout="3000" down_thread="false" join_retry_timeout="2000" up_thread="false" shun="true"/>
+ </config>
+ </attribute>
+
+ <attribute name="SyncChannelConfig">
+ <config>
+ <UDP mcast_recv_buf_size="500000" down_thread="false" ip_mcast="true" mcast_send_buf_size="32000"
+ mcast_port="45570" ucast_recv_buf_size="500000" use_incoming_packet_handler="false"
+ mcast_addr="228.8.8.8" use_outgoing_packet_handler="true" loopback="true" ucast_send_buf_size="32000" ip_ttl="32" bind_addr="127.0.0.1"/>
+ <AUTOCONF down_thread="false" up_thread="false"/>
+ <PING timeout="2000" down_thread="false" num_initial_members="3" up_thread="false"/>
+ <MERGE2 max_interval="10000" down_thread="false" min_interval="5000" up_thread="false"/>
+ <FD timeout="2000" max_tries="3" down_thread="false" up_thread="false" shun="true"/>
+ <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
+ <pbcast.NAKACK max_xmit_size="8192" down_thread="false" use_mcast_xmit="true" gc_lag="50" up_thread="false"
+ retransmit_timeout="100,200,600,1200,2400,4800"/>
+ <UNICAST timeout="1200,2400,3600" down_thread="false" up_thread="false"/>
+ <pbcast.STABLE stability_delay="1000" desired_avg_gossip="20000" down_thread="false" max_bytes="0" up_thread="false"/>
+ <FRAG frag_size="8192" down_thread="false" up_thread="false"/>
+ <VIEW_SYNC avg_send_interval="60000" down_thread="false" up_thread="false" />
+ <pbcast.GMS print_local_addr="true" join_timeout="3000" down_thread="false" join_retry_timeout="2000" up_thread="false" shun="true"/>
+ <pbcast.STATE_TRANSFER down_thread="false" up_thread="false"/>
+ </config>
+ </attribute>
+ </mbean>
+ </programlisting>
+
+ <section id="conf.groupname">
+ <title>GroupName</title>
+ <para>
+ This identifies the JGroups group the Clustered Post Office will connect to. All Clustered Post Office instances with the same
+ group name will connect to that group.
+ </para>
+ </section>
+
+ <section id="conf.statetimeout">
+ <title>StateTimeout</title>
+ <para>
+ The maximum amount of time in milliseconds to wait when making a request to get the group state and waiting for the result.
+ You will not normally need to change this value. Default is 5000 ms.
+ </para>
+ </section>
+
+ <section id="conf.casttimeout">
+ <title>CastTimeout</title>
+ <para>
+ The maximum amount of time in milliseconds to wait when casting a message and waiting for a result.
+ You will not normally need to change this value. Default is 5000 ms.
+ </para>
+ </section>
+
+ <section id="conf.pullsize">
+ <title>PullSize</title>
+ <para>
+ The maximum number of messages to pull from one node to another when the local node is starving. Defaults to 1.
+ </para>
+ </section>
+
+ <section id="conf.statssend">
+ <title>StatsSendPeriod</title>
+ <para>
+ The period in milliseconds between much statistics for each queue will be cast across the cluster.
+ </para>
+ </section>
+
+ <section id="conf.messagepullpolicy">
+ <title>MessagePullPolicy</title>
+ <para>
+ The fully qualified class name of the class that implements the MessagePullPolicy.
+ To specify different message pull policies this can be changed.
+ In the Alpha1 release only the NullMessagePullPolicy is stable.
+ </para>
+ </section>
+
+ <section id="conf.clusterrouterfactory">
+ <title>ClusterRouterFactory</title>
+ <para>
+ The fully qualified class name of the class that implements a factory for creating message routers. For different message routing policies
+ this can be changed.
+ </para>
+ </section>
+
+ </section>
+
+
+
</chapter>
More information about the jboss-cvs-commits
mailing list