2 Replies Latest reply on Apr 26, 2010 11:54 AM by Brett Cave

    Understanding mod_cluster's discovery process

    Brett Cave Newbie



      I am trying to implment mod_cluster in an environment that doesn't support multicast, and trying to get a better understanding of the discovery process. Wondering if some points could be clarified.


      Does the http side send multicast packets that are received by the java-side multicast listeners?


      My understanding is that listeners (java) receive multicast messages (from native - mod_advertise?), which include host and port information. The java side then posts information back to native httpd (via mod_manager?) in order to configure the load balancer (mod_proxy).


      Does the java side advertise via multicast too? What does it advertise, and what does it advertise to? (advertise to other modcluster java nodes or to http - if http, where is the listener configured?).



      is this correct - in a multicastless environment, the cluster should be able to be configured all on the java side using JMX?  e.g. addProxy, disableContext to configure mod_cluster on http server. If HAModCluster is being used, this only needs to be configured on a single node of the backend cluster, as this info will be replicated to other nodes.

        • 1. Re: Understanding mod_cluster's discovery process
          Jean-Frederic Clere Master

          "Does the http side send multicast packets that are received by the java-side multicast listeners?"

          Yep that the Advertise mechanism.

          httpd sends multicast message that contains the host and port where httpd is wait to receive the nodes information from the cluster nodes,

          In case you don't want to use the Advertise stuff you can set the proxyList with the list of httpd servers you run.

          (See http://www.jboss.org/mod_cluster/java/properties.html).

          • 2. Re: Understanding mod_cluster's discovery process
            Brett Cave Newbie

            Ok, that makes sense. And the proxyList can be updated via JMX.


            I have set up a cluster now, using HAModCluster. My understanding of this is that if any new backend servers were brought onto the same cluster partition, proxy information would be replicated?


            This is what I did (using 1.1.0 CR1)


            1 x mod_cluster httpd server, no mod_advertise, running manager on ip 192.168.x.y,  port 6666

            1 x AS 5.1.0.GA server


            AS configuration:

            jbossweb's server.xml (listener config):

            <Listener className="org.jboss.modcluster.catalina.ModClusterListener" advertise="false" />


            mod_cluster's jboss-beans.xml:

            <bean name="ModClusterListener" mode="On Demand">
                  <parameter><inject bean="HAModClusterService"/></parameter>
                  <parameter><inject bean="JMXKernel" property="mbeanServer"/></parameter>



            JMX: addProxy 192.168.x.y port 6666


            httpd updates with new backendserver.


            Start up new AS5 instance, configure with HAModClusterService. Configuration stays empty (it does not find the proxy from AS node1)... should the proxy configuration from node1 replicate to AS node2?