The happy eyeballs algorithms tries to connect over both IPv6 and IPv4 at the same time. Accordingly, the hostname has to be resolved for both address families which both may potentially contain any number of records (load balancing). This changeset randomizes the order of returned IP addresses per address family. This means that if multiple records are returned, it will try to connect to a random one from this list instead of always trying the first. This allows the load to be distributed more evenly across all returned IP addresses. This can be used as a very basic DNS load balancing mechanism.
jsor approved these changes Sep 6, 2020
clue deleted the round-robin-dns branch
September 6, 2020 19:20