Load balancer service¶
Service description¶
The Load Balancer service provides load balancing as a service (LBaaS) within your cloud environment. Load Balancer uses the OpenStack Ocatvia service and is designed to distribute incoming network traffic across multiple backend instances (such as virtual machines or containers), improving the availability, scalability, and performance of applications. OVN (Open Virtual Network) is an open-source network virtualization solution works with Rumble Cloud services and provides native support for load balancing functionality as part of its software-defined networking (SDN) capabilities.
Load Balancer service uses OpenStack Octavia in conjunction with other cloud services.
Features¶
- Load balancing algorithms, including round-robin, least connections, and source IP hashing, allowing you to choose the method that best fits your application's needs.
- Health Monitoring, to monitor the health of backend instances using different types of health checks (such as HTTP, TCP, or HTTPS). Unhealthy instances are automatically removed from the load balancing pool to ensure that traffic is only directed to healthy instances.
- Session persistence, ensuring that a client's requests are consistently directed to the same backend instance during a session. This is important for stateful applications that require a consistent user experience.
- High availability (HA), with multiple load balancer instances and automatic failover in case of a failure. This ensures continuous availability of the load balancing service.
- TLS termination, to terminate TLS connections at the load balancer, offloading encryption and decryption tasks from the backend instances. This can improve performance and simplify certificate management.
- Integration with other srvices, providing a seamless experience within the cloud.
Key concepts¶
The primary purpose of a load balancer is to improve the scalability and availability of applications by distributing the workload evenly among backend instances, ensuring that no single instance becomes overwhelmed and that traffic is automatically rerouted to healthy instances in case of failures.
How it works¶
- Create a load balancer, which acts as a virtual traffic distribution device. The load balancer has a public-facing IP address (virtual IP or VIP) that clients use to access the service.
- Configure listeners on the load balancer, which define how the load balancer should handle incoming connections. Listeners are configured with a protocol (e.g., HTTP, HTTPS, TCP) and a port number.
- Create a pool of backend instances (servers) for each listener. The pool contains the instances that will handle the traffic for that listener, and it defines the load balancing algorithm to use (e.g., round-robin, least connections).
- Set up health monitors to check the health of the backend instances. The load balancer uses these health checks to determine which instances are healthy and can handle traffic. Unhealthy instances are automatically removed from the load balancing rotation.
- When a client sends a request to the load balancer's VIP, the load balancer uses the configured rules and algorithms to select a healthy backend instance from the pool and forwards the request to that instance.
- Load balancer service supports session persistence, which ensures that a client's requests are consistently sent to the same backend instance during a session. This is important for applications that require stateful sessions, such as e-commerce websites.
- Load balancers can be configured for high availability, with multiple load balancer instances and automatic failover in case of a failure.
- Load Balancer service integrates with other services.