Achieving Scalability and High Availability for clustered Web Services using Apache Synapse
This will give an insight on how you can use Apache Synapse mediation framework to guarantee the scalability and availability of hosted services. It requires a cluster of services to be available and Synapse will balance the load and fail over route the messages among the cluster of services to provide scalability and availability. Apache Synapse is designed to be a simple, lightweight and high performance Enterprise Service Bus (ESB). Since it is based on a small asynchronous core, it can handle 2500 concurrent connections on a standard server hardware. The Synapse engine is configured with a simple XML format and comes with a set of ready-to-use transports on which it can be used as a load balancer and a fail over router. Synapse supports static and dynamic load balancing, static load balancing can be used when you have a set of known hosts in the cluster where as dynamic load balancing could be used for an environment where the nodes on the service cluster is dynamic for example when auto scaling of the service cluster is active. In the case of dynamic load balancing the load balance endpoint gets the list of nodes which provides this service from the underlying Group Communication Framework of the cluster. Apache Synapse can be used for general mediation tasks while providing the scalability and availability to a set of services as well. You may use Synapse to log the messages coming into your network or to throttle the messages to your services.