Microservice and Containerization Patterns > Scalability Patterns > Service Load Balancing
Service Load Balancing (Erl, Naserpour)
How can a deployed microservice accommodate increasing workloads?
Problem
Solution
Application
Redundant implementations of the microservice are deployed, each located on a different virtual or physical server. A load balancer is utilized to intercept service consumer requests in order to evenly distribute them across the multiple microservice implementations.
The load balancing agent intercepts messages sent by service consumers (1) and forwards the messages at runtime to the virtual servers so that the workload processing is horizontally scaled (2). Each virtual server receives requests based on its capacity, meaning none will be over-utilized.
Depending on the anticipated workload and the processing capacity of hosting server environments, multiple microservice implementations may be established in order to create pools of microservices, as explained in the complete pattern description.