Load balancing (computing): Difference between revisions

Content deleted Content added
m clean up, replaced: |journal=International Journal of Computer Science and Network Security (IJCSNS) → |journal=International Journal of Computer Science and Network Security
Client-side random load balancing: clean up, replaced: Law of Large Numbers → law of large numbers
Line 154:
 
====Client-side random load balancing====
Another approach to load balancing is to deliver a list of server IPs to the client, and then to have the client randomly select the IP from the list on each connection.<ref>{{cite web |url=https://gameserverarchitecture.com/2015/10/pattern-client-side-load-balancing/ |title=Pattern: Client Side Load Balancing |date=October 15, 2015 |archive-url=https://web.archive.org/web/20201129020628/https://gameserverarchitecture.com/2015/10/pattern-client-side-load-balancing/?shared=email&msg=fail |archive-date=2020-11-29 |url-status=usurped}}</ref><ref name="ithare">{{Cite web|url=http://ithare.com/chapter-vib-server-side-architecture-front-end-servers-and-client-side-random-load-balancing/|title=Server-Side Architecture. Front-End Servers and Client-Side Random Load Balancing|date=December 28, 2015|website=IT Hare on Soft.ware}}</ref> This essentially relies on all clients generating similar loads, and the [[Lawlaw of Largelarge Numbersnumbers]]<ref name="ithare" /> to achieve a reasonably flat load distribution across servers. It has been claimed that client-side random load balancing tends to provide better load distribution than round-robin DNS; this has been attributed to caching issues with round-robin DNS, that in the case of large DNS caching servers, tend to skew the distribution for round-robin DNS, while client-side random selection remains unaffected regardless of DNS caching.<ref name="ithare" />
 
With this approach, the method of delivery of a list of IPs to the client can vary and may be implemented as a DNS list (delivered to all the clients without any round-robin), or via hardcoding it to the list. If a "smart client" is used, detecting that a randomly selected server is down and connecting randomly again, it also provides [[fault tolerance]].