Key Features and Advantages of the WSO2 Load Balancer
- Tenants are loaded on demand to a predefined cluster based on a given configuration.
- Unload unused tenants after a predefined time.
- Tenant partitioning support.
- Support for multiple service clusters for a tenant.
- Notifies the Load Balancer instances whenever a new instance is added.
- Auto scaling - Starting and terminating instances based on the load and supports any type of infrastructure as a service. The user has to write a simple adapter to auto-scale services based on the service vendor's API. External component's auto-scaler service can add and assign nodes to the Load Balancer. Therefore, the Load Balancer is independent of the infrastructure. The auto scale functionality will be available soon in the next Load Balancer release.
- Group communication between clusters using cluster messages.
- Notifying all the Load Balancers when a new node is added to the cluster.
- Data partitioning (data about tenants) - Partitions data based on the geographic location or any other factors. For example, if tenants 1 to 100 should load and store data in the United States, a new application cluster can be deployed at the United States and informed to the Load Balancer. The loadbalancer.conf file can be configured to specify that tenants 1 to 100 are loaded at a particular cluster (named as wso2.as.usa.domain) ensuring that all requests coming to tenants 1 to 100 will be forwarded to that cluster and the data related to those tenants (e.g. application files, databases) will be stored in servers at the United States.
- Private jet mode - An entire application cluster can be specified to a particular tenant by configuring the loadbalancer.conf file. This ensures that all requests coming to the tenant will be forwarded to that particular cluster.
- Always running an additional cluster (default cluster), which is responsible for newly-created and super admin tenants. This cluster can be defined in load balancer configuration file with * mark as upper tenant ID.