Load Balancing
The disclosure includes a system and method for load balancing. In one embodiment, the method includes receiving, using one or more processors, traffic for an application via a managed domain name service; determining, using one or more processors, a first load balancer from a plurality of load balancers; and sending the traffic to the first load balancer based on the determination.
1 . A method comprising:
receiving, using one or more processors, traffic for an application via a managed domain name service;
determining, using one or more processors, a first load balancer from a plurality of load balancers; and
sending the traffic to the first load balancer based on the determination.
2 . A method of claim 1 comprising:
determining one or more locations of application instances of the application;
determining which a first application instance was most recently reached by prior traffic of a requester associated with the received traffic; and
wherein the traffic is sent to the first application instance associated with the first load balancer based on the first application instance being most recently reached by earlier traffic of the requester.
3 . A method of claim 2 comprising:
ordering the one or more locations of application instances based on how recently the location of the application instance was reached by prior traffic of a requester associated with the traffic.
4 . The method of claim 1 , wherein the plurality of load balancers includes the first load balancer and a second load balancer, wherein the traffic is received by a second load balancer prior to being sent to the first load balancer and the first load balancer is determined based on geographic proximity to the second load balancer.
5 . The method of claim 4 , wherein the traffic is sent from the second load balancer to the first load balancer using a connection of one or more infrastructure providers associated with one or more of the first load balancer and the second load balancer rather than via an Internet service provider.
6 . The method of claim 4 , wherein the second load balancer is not associated with an instance of the application.
7 . The method of claim 4 , wherein the first load balancer and the second load balancer are associated with a different infrastructure providers.
8 . The method of claim 1 , wherein the plurality of load balancers includes the first load balancer and a second load balancer, wherein the traffic is received by a second load balancer prior to being sent to the first load balancer, and the first load balancer is determined based a latency associated with the first load balancer being less than a latency associated with one or more of the second load balancer a third load balancer included in the plurality of load balancers.
9 . The method of claim 8 , wherein at least one of the first load balancer, the second load balancer and the third load balancer is associated with a different infrastructure provider.
10 . The method of claim 8 , wherein the second load balancer is not associated with an instance of the application and wherein the latency associated with the first load balancer is less than a latency associated with the third load balancer, the first load balancer associated with an instance of the application and the third load balancer associated with an instance of the application.
11 . A system comprising:
one or more processors; and
a memory storing instructions that, when executed by the one or more processors, cause the system to:
receive traffic for an application via a managed domain name service;
determine a first load balancer from a plurality of load balancers; and
send the traffic to the first load balancer based on the determination.
12 . The system of claim 11 , further comprising instructions that, when executed by the one or more processors, cause the system to:
determining one or more locations of application instances of the application;
determining which a first application instance was most recently reached by prior traffic of a requester associated with the received traffic; and
wherein the traffic is sent to the first application instance associated with the first load balancer based on the first application instance being most recently reached by earlier traffic of the requester.
13 . The system of claim 11 , wherein the plurality of load balancers includes the first load balancer and a second load balancer, wherein the traffic is received by a second load balancer prior to being sent to the first load balancer and the first load balancer is determined based on geographic proximity to the second load balancer.
14 . The system of claim 14 , wherein the traffic is sent from the second load balancer to the first load balancer using a connection of one or more infrastructure providers associated with one or more of the first load balancer and the second load balancer rather than via an Internet service provider.
15 . The system of claim 14 , wherein the second load balancer is not associated with an instance of the application.
16 . The system of claim 14 , wherein the first load balancer and the second load balancer are associated with a different infrastructure providers.
17 . The system of claim 11 , wherein the plurality of load balancers includes the first load balancer and a second load balancer, wherein the traffic is received by a second load balancer prior to being sent to the first load balancer, and the first load balancer is determined based a latency associated with the first load balancer being less than a latency associated with one or more of the second load balancer a third load balancer included in the plurality of load balancers.
18 . The system of claim 17 , wherein at least one of the first load balancer, the second load balancer and the third load balancer is associated with a different infrastructure provider.
19 . The system of claim 17 , wherein the second load balancer is not associated with an instance of the application and wherein the latency associated with the first load balancer is less than a latency associated with the third load balancer, the first load balancer associated with an instance of the application and the third load balancer associated with an instance of the application.
20 . A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by a processor, cause the processor to:
receive traffic for an application via a managed domain name service;
determine a first load balancer from a plurality of load balancers; and
send the traffic to the first load balancer based on the determination.