How Do You Architect a System without a Load Balancer Being a Single Point of Failure?

Problem scenario
You want to design a system without a single point of failure. How can you ensure a load balancer is not a single point of failure?

Solution
Have DNS route to two or more load balancers. DNS does not know the back-end servers' or pods' health statuses, according to a StackOverflow.com posting. Therefore you would want to configure the TTL governing the networking of the DNS to be short to ensure DNS services are aware of a web server that is down (according to a Quora posting). Using Kubernetes in a high-availability implementation the Pods that aren't available will not be routed to (see this posting). (See also StackOverflow.com's posting on a single-point-of-failure).

To read about two HA load balancing configurations (active-active and active-passive each requiring two or more load balancers), see this loadbalancer.org posting.

You may want to read about Global Server Load Balancing https://avinetworks.com/glossary/global-server-load-balancing-2/.

A medium article says that sometimes you cannot eliminate every single point of failure https://medium.com/@ssiddhant3030/system-design-single-points-of-failure-196421238ab8.

In theory you could use NGINX to bypass an ALB, ELB, or F5 load balancer. To read about this, see https://docs.nginx.com/nginx/admin-guide/high-availability/ha-keepalived-nodes/.

Leave a comment

Your email address will not be published. Required fields are marked *