1 2 Previous Next 21 Replies Latest reply on Jun 16, 2008 2:58 PM by timfox

    JBM 2.0 Clustering

      I realize that clustering is not part of Alpha release, but because it is essintial for my architecture I want to try to find out whether it is going to support the following (Unfortunately, I can't paste a picture here, but can provide it).
      I have a massively parallel grid of execution nodes and want to use JBM 2.0 as communication mechanism, so that I can leverage load balancing and fault tolerance, provided by queueing. I want to embed JBM server in every execution node, so that my code does all the messaging localy and it is up to the cluster to do actual load balancing. This also should minimize network traffic (and latency) by assuring 1 network hop per message. Will JBM 2.0 cluster support such architecture and what can I start doing now to prove it?

        • 1. Re: JBM 2.0 Clustering
          clebert.suconic

          We have clustering on the roadmap for Beta.

          We will support everything we had on JBM 1.4, including load balancing and fault tolerance.

          I'm not sure what you want to do by embedding JBM on your application. It looks like the Bridge would be more appropriate for that end.. or maybe I'm not understanding what is your architecture here.

          • 2. Re: JBM 2.0 Clustering
            timfox

            Hello blublinsky-

            Yes, JBM 2.0 will support transparent distributed destinations like JBM 1.4, sounds like this is what you need.

            • 3. Re: JBM 2.0 Clustering

              Two reasons why I want to embed JBM into my application. First performance gains, it should be faster then Bridge. Second more important, if server is a separate process, then if my process goes away and server is still up, then I would get into situation, where some of my messages will be sitting on the server with nowhere to deliver.

              Can/Should I start prototyping my implementation using 1.4?
              or I am better off waiting for 2.0 betta?

              • 4. Re: JBM 2.0 Clustering
                clebert.suconic

                Are these nodes on a local or remote network?

                For Clustering on 1.4, we are using JGroups to find the participant nodes.


                The way our clustering currently works is, JGroups is used to establish the members of the cluster, and we then create regular Consumers between the nodes controlling the load balancing between them.

                It is possible to configure JGroups on TCP and do some other stuff, but all the tests we have done with Clustering were basically on a local network, using UDPs and JGroups.

                I'm not sure yet if that will still be the case for JBM 2, and we can certainly take your needs on the design considerations.

                The bridge would be more or less the same thing, but more appropriate for remote clients. Thinking for example if your application is a Point of Sale where you don't have direct connections to the other members all the time.

                The problem with JBM 1.4 is the Embed Support you need. We have cleaned a lot of the dependencies on JBM 2, what would make your life easier on instantiating the POJOs. For JBM 1.4 we simply don't support the embed as it would be too hacky doing it.

                You could prototype with JBM 1.4 if you don't use the embedding.

                • 5. Re: JBM 2.0 Clustering

                  I am planning to use local network, so UDP will be fine. Are you planning to use the same clustering mechanism in 2.0 or is it going to be different? Do you recomment to start evaluating 1.4 with clustering and external servers or wait till beta?

                  • 6. Re: JBM 2.0 Clustering

                    Also, with clustering, will I be able to control a cluster/location of the clustered queues from a single point and without restarting servers? Can you point me to a document (maybe prelininary) which would explain how it will work?

                    • 7. Re: JBM 2.0 Clustering
                      timfox

                      I would wait until beta. 1.4 and 2.0 are significantly different.

                      • 8. Re: JBM 2.0 Clustering

                        Tim,
                        What is the timeframe for beta drop?
                        Can you provide Navteq with pre beta, so that we can start testing it. So for now I will use JBM 2.0 standalone and wait for clustering

                        Also, where can I look for deployer functionality and what is it intended for? Usage samples, etc?

                        • 9. Re: JBM 2.0 Clustering
                          timfox

                          We're currently aiming for Q3/Q4 for beta (October?).

                          We're not intending to make any more releases between now and beta, but you can always check out SVN to see the current state of where we are. :)

                          • 10. Re: JBM 2.0 Clustering

                            Thanks,
                            Do you have an example of integration of JBM with LDAP for queue definitions (that will work JBM 2.0) anywhere?

                            • 11. Re: JBM 2.0 Clustering
                              clebert.suconic

                              As you'll probably work with embedded (instantiating POJOs), You can use PostOffice.addDestination to create your destinations.

                              You can do something yourserver.getPostOffice().addDestination(). That should be pretty simple doing it.

                              • 12. Re: JBM 2.0 Clustering

                                So instead of server going to LDAP you suggest me to do integration with LDAP on the side and then synch server with the results, right?
                                This will also allow me to have my own watchdog for LDAP changes. Right?

                                • 13. Re: JBM 2.0 Clustering
                                  clebert.suconic

                                  Yeah...

                                  Another possibility would be also the StoreManager. (Implementing a LDAPStoreManager to store destinations).

                                  http://anonsvn.jboss.org/repos/messaging/trunk/src/main/org/jboss/messaging/core/persistence/StorageManager.java

                                  • 14. Re: JBM 2.0 Clustering
                                    timfox

                                     

                                    "blublinsky" wrote:
                                    Thanks,
                                    Do you have an example of integration of JBM with LDAP for queue definitions (that will work JBM 2.0) anywhere?


                                    I guess I haven't quite understood what you want to achieve - can you explain in more detail?

                                    You want to put your queue names in LDAP, like you put queue names in JNDI with JMS?

                                    1 2 Previous Next