Skip to content

Instantly share code, notes, and snippets.

@sgrsaga
Last active February 26, 2024 11:51
Show Gist options
  • Save sgrsaga/6144861db32b0ec4fc7ff4a46aef13b8 to your computer and use it in GitHub Desktop.
Save sgrsaga/6144861db32b0ec4fc7ff4a46aef13b8 to your computer and use it in GitHub Desktop.
Global Load Balancing Service - Proposal

Global Load Balancing Service - Proposal

This is a proposal to implement a Gloabal Load balancing service for a cloud offering solution.

Global Load Balancer service - Top level

  • 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment