Supported Since: 17.01
Load balancing is a vital concept when it comes to a cluster of ESB instances. As the cluster is the concept that wraps the existence of actual worker ESB instances, identity of instances that works within an ESB cluster should not be exposed to outside. However there could be some use cases where ESBs acting as tcp/http listeners and external systems send messages to ESBs. In this case, outside entities should have an address to call to target ESBs. Common pattern in achieving this is placing a load balances in between ESB cluster and calling entity. IPS provides this facility out of the box to route external traffic to instances within a IPS cluster. These load balancing concept is called Endpoints
Users can specify a dedicated port on node machines to route traffic to a selected destination inside IPS. In above diagram traffic sent to port 30030 of node1 of IPS setup will be routed to the port 8280 on ESB1, ESB2 and ESB3. Traffic will be distributed in round robbin manner.
Specifying endpoints for a cluster is performed at project deployment phase.
Normally the project knows which services it exposes to outside. When we select a project to be deployed on a particular cluster, clicking Configure button will shows if there are services in the project to be exposed to outside.
Here you have to specify Endpoint listening port on host machine that should route traffic to port 8280 0f ESB instances
Once you deployed the cluster after configuring Endpoints, you can view newly created Endpoints by visiting the Endpoints tab of Cluster Details page