7 Replies Latest reply on Jan 30, 2013 1:40 PM by abhishekhp

    Sharing the configuration across the nodes

    fz016631

      Hi,

      We have multiple JBoss nodes connecting to the same DB but there is no clustering involved;we are using the apache httpd server for load balancing across these nodes; we allow the user to have node specific configration; we also want to share the node specific configuration with other nodes so that they can stay consistent. I have not come across or  know about sharing the node specific configuration with other nodes where no clustering is involved; If anyone know about it, please do share with me.

       

      Thanks.

      Venkatesh

        • 1. Re: Sharing the configuration across the nodes
          peterj

          Databases have allowed multiple applications to share the same data for ages, using transactions and locking schemes to ensure that the data remains consistent. So from that point of view, what you are doing is not an issue from the database side. (Though read up on your database's transaction schemes. Some databases, such as MySQL come with non-transaction storage enigines - you need to make sure you are using atransactional engine such as MySQL's InnoDB engine.)

           

          From the JBoss AS side there might be an issue if you use ORM technology (e.g. Hibernate) that caches database data. Such caches usually assume thay they are the only ones accessing the database and thuse are not prepared to have other applications update the database. If you are using any kind of ORM, you need to determine if you are using database data caching and also determine how the ORM handles other applications updating the data it caches. Once you know that, you can determine the impact on your configuration. (Note that if you are using stariaght JDBC with no data caching that you will nto have an issue - the database tranbsaction locking schemes will keep things in sync.)

           

          By the way, it also helps if you know the ratio of updates to reads for your data; in a mostly read situation, or a situation where writes are new records, there is ually less of an issue because of the smal chance of data update collision in such scenarios.

          • 2. Re: Sharing the configuration across the nodes
            fz016631

            Hi Peter,

                    Thanks for the reply; I do not want to use DB to share the configuration since they are node specific but would like to find some other way of sharing them.

            • 3. Re: Sharing the configuration across the nodes
              peterj

              Sorry, I misunderstood your question. I thought you were asking about sharing data among the apps, when you wanted to know about sharing configuration information between the application server instances. Exactly whatconfiguration data did you want to share?That do you mea by "user to have node specific configuration"?

              • 4. Re: Sharing the configuration across the nodes
                fz016631

                Hi Peter,

                        Each node allows application specific settings like request/response timeout through JMX MBeans; user has the liberty to change these settings on any node; once changed, other nodes should pick up the updated settings (we do not want to store these settings in DB because they do not belong the core date of the application).

                 

                Thanks

                Venkatesh

                • 5. Re: Sharing the configuration across the nodes
                  abhishekhp

                  Which version of JBoss are you using ? JBoss AS7 has a domain managed setup where you have a single configuration that can be applied to multiple server instances in different server groups.

                  • 6. Re: Sharing the configuration across the nodes
                    fz016631

                    Hi Abhishekh,

                        Right now with JBoss 5 but will be moving to 6 in the coming months. Please note that I am not using any clustering.

                     

                    Thanks

                    Venkatesh    

                    • 7. Re: Sharing the configuration across the nodes
                      abhishekhp

                      With JBOSS EAP 6 you should try the domain managed setup. You would configure the datasources, logging and any other configuration only once in the profile that you are using for the server group. Each server group can have multiple server instances that would use the single configuration you have defined for that server group. The domain managed setup provides a CLI to manage these configuration real time.

                       

                      You can use the domain setup irrespective of  adding clustering between the nodes. The domain managed setup reduces the need to have multiple standalone instance that share the same configuration and provide a centralized interface to managing them.

                       

                      You can find more information about it below

                       

                      https://docs.jboss.org/author/display/AS71/Domain+Setup