This is a proposal to implement a Gloabal Load balancing service for a cloud offering solution.
-
Load Balancer Service:
This is can be a microservice or a wrapper sevice delpoyed without a single pont of failure. This service will take request and identify the parameters such as application and region the request originated. Then service will check the Redis-Leader-Board to identify which load balancer is availble and have a minimum latency for the selected application and region ..etc. After selecting the load balancer the request will pass to the specific load balancer.
-
Redis Leader Board:
This redis cluster will maintain the leader board. It will be updated with high frequency by the "Leader Board Utility" service. Leader board will maintain a rank for the application and load balancer considering the availability and letency. It help the Load balancer service to identify which LB is the best to serve for the specific application.
-
Leader Board Utility:
This utility service will check the heart beat of the each Load balancer in the pool. Further it will evaluate the reachability and latency for given application from the load balancer servers. The availability, letency, and reachbility results will be considered along with the region and application to calculate the load balancer rank. Finally it should update the leader board for a give application and the region what is the best load balancer to server the request.