4 Replies Latest reply on Mar 11, 2005 4:07 PM by adrian.brock

    Basic Clustering/Load Balancing Question

      I need to run a 2 node JBoss cluster with the following requirements:

      1) Both the nodes will have a Queue with same name. Lets say the name as "Purchase Queue"
      2) From a client, when I lookup "Purchase Queue", the system should return a Queue from any one of the two nodes in a Round-Robin fashion. Doesn't matter if it is Round Robin or some other load balancing mechanism.
      3) If the client is sending a message to the Queue on Node 1, and the Node 1 happens to crash, the client should (fail-over) send the same message to Node 2.

      The simple question is:
      Which version of JBoss supports both #2 and #3 requirements? I am so confused going over various Forums that one supports one feature and the other does not.

      If there is one topic that discussed these already, a pointer to that is highly appreciated.

      I am a fan of open-source solutions. Unfortunately, our team is already looking into other commercial solutions since we could not get any definitive answer with JBoss.

      Have fun!
      Kiran

        • 1. Re: Basic Clustering/Load Balancing Question
          razor_harm

           

          "kiran222" wrote:
          I need to run a 2 node JBoss cluster with the following requirements:

          1) Both the nodes will have a Queue with same name. Lets say the name as "Purchase Queue"

          You don't actualy need two queue's. You could create a cluster using HA-JMS. This cluster provides automaticly fail-over.


          2) From a client, when I lookup "Purchase Queue", the system should return a Queue from any one of the two nodes in a Round-Robin fashion. Doesn't matter if it is Round Robin or some other load balancing mechanism.

          Same thing here,... Do you realy need to return the queue's using a round-robin style? Or do you want your messages to be distributed using a load-balancing style? If the latter, if you use HA-JMS, again you get fail-over for free. You also get load-balancing for free.


          3) If the client is sending a message to the Queue on Node 1, and the Node 1 happens to crash, the client should (fail-over) send the same message to Node 2.

          Again this is provided by HA-JMS.


          The simple question is:
          Which version of JBoss supports both #2 and #3 requirements? I am so confused going over various Forums that one supports one feature and the other does not.

          I believe that since JBoss 3.2.4 these features are available.

          For more information look here:
          http://www.jboss.org/wiki/Wiki.jsp?page=JBossMQHA


          If there is one topic that discussed these already, a pointer to that is highly appreciated.

          I am a fan of open-source solutions. Unfortunately, our team is already looking into other commercial solutions since we could not get any definitive answer with JBoss.

          Have fun!
          Kiran



          • 2. Re: Basic Clustering/Load Balancing Question
            thinkaholic

            How long does it take to a failover of the JMS to happen in the case of a crash.
            I tried it and it takes with me about 20 minutes to have my queue up and running on the second node and I think I am missing something here since it not acceptable at all to have a 20 minutes down time.

            Using JBoss 4.0.1
            Windows 2000 server
            J2sdk 1.4.2_07

            • 3. Re: Basic Clustering/Load Balancing Question
              razor_harm

               

              "thinkaholic" wrote:
              How long does it take to a failover of the JMS to happen in the case of a crash.
              I tried it and it takes with me about 20 minutes to have my queue up and running on the second node and I think I am missing something here since it not acceptable at all to have a 20 minutes down time.


              It certainly does not take 20 minutes. My setup (using JBoss 3.2.7) takes about 5~10 seconds to do the fail-over.

              • 4. Re: Basic Clustering/Load Balancing Question

                Most likely it some OS configuration related to keep-alive config of tcp/ip sockets?
                Your 20 minutes is some kind of network (notwork :-) timeout