1 Reply Latest reply on Feb 26, 2014 8:07 AM by Keith Babo

    Accesing clustered services

    Jorge Morales Master

      What should be the way to solve this scenario?

      I have a 4 node clustered SwitchYard installation on JBoss EAP (FSW). I deploy a clustered service to let's say node1, and node2, and NOT to node3 and node4. This service has a SOAP binding.

      I have a client that wants to make requests to this service, so it could balance the request between node1 and node2. Given that I'm using a custom WS stack to invoke my service, I need to provide a unique endpoint. I can not use HttpRemoteInvoker.

      I can front my cluster with a Load Balancer, let's say, Apache, but as this scenario can happen multiple times, I do not want to provision multiple times my load balancer with rules on the balancing policies.

       

      How would I solve this scenario.

       

      Maybe I missed something, and CXF or JBoss handles this.

       

      Thanks

        • 1. Re: Accesing clustered services
          Keith Babo Master

          What should be the way to solve this scenario?

          I have a 4 node clustered SwitchYard installation on JBoss EAP (FSW). I deploy a clustered service to let's say node1, and node2, and NOT to node3 and node4. This service has a SOAP binding.

           

          There are two methods of clustering available in SwitchYard:

          1. Using an SCA binding with clustering enabled on composite services/references, as described here.
          2. Using another protocol binding (e.g. SOAP, JMS) with clustering enabled outside of SY.  For SOAP/HTTP, that would involve an external load balancer.  For JMS, you get that with competing consumers talking to a JMS broker.

           

          So the answer to the first part of your question depends on which style of clustering you want to employ.

           

          I have a client that wants to make requests to this service, so it could balance the request between node1 and node2. Given that I'm using a custom WS stack to invoke my service, I need to provide a unique endpoint. I can not use HttpRemoteInvoker.

           

          If you are using SOAP over HTTP, then I would expect this to be handled via an HTTP load balancer external to SwitchYard.

           

          I can front my cluster with a Load Balancer, let's say, Apache, but as this scenario can happen multiple times, I do not want to provision multiple times my load balancer with rules on the balancing policies.

           

          That's more in the domain of the specific load balancer you are using.  I know that mod_cluster allows for dynamic update of endpoints, but I suspect you would need some custom work to get that hooked into SOAP endpoint registration within SY.  I haven't tried, so I don't know how much work this would be.