In all the articles that I have read in the internet about high availability of load balancer itself, an approach using virtual IP (VIP) is mentioned. In this approach, two load balancers will remain in active-standby mode. The active load balancer owns the VIP. If the active load balancer goes down, the stand-by load balancer detects the failure using some heart beat mechanism and takes over the VIP and thus it becomes the active load balancer.
My questions are:
At any point of time, only one load balancer is serving all the requests. What if the number of incoming requests are too high? Or is the number of requests handled by any popular load balancer like (HAProxy, nginx or any hardware load balancer) are too high to exceed in real life?
Is it a good alternative to have a cluster of load balancers with the same domain name such that the DNS can do a round robin load balancing while distributing traffic to the load balancers themselves? This way we can achieve auto scaling of load balancers also by dynamically adding or removing A records in the DNS server/s.
If the number requests is too high your will get timeouts. Yes you can max out a server, if you have a small server, or there are resource constraints.
Yes. Though maybe not exactly like that.
DNS can have multiple A records for the same domain, which can either give you failover or load balancing. These servers can be in different data centers. One useful article is here, or you can search for "dns load balancing".
Amazon Web Services Route 53 can route based on a number of policies, such as geograpghic area or latency. It can also detect failures with servers and send traffic to other servers. It can work with non-AWS servers. It would be a good solution to your problem. The CloudFlare Traffic Manager, currently available in early access, could be another solution.