← Back to context

Comment by mike_d

5 hours ago

sigh

See, before the cloud, you used to deploy your code to actual physical servers. If your site became really popular you needed more than one server to run it.

Before commercial and open source load balancers became a thing we literally used HTTP redirects to distribute load. You might visit www.example.com and get redirected to www13.example.com, which was an actual box in a datacenter.

I don't think the internet would exist today if websites just randomly fell over once the number of simultaneous users exceeded the capacity of a single server.

When I was at yahoo, we certainly had load balancers, but we didn't have super fancy load balancers that could separate traffic out by path, so each 'property' would use a different hostname (i worked on travel.yahoo.com, which is dead these many years), but we all shared a login cookie (and some other cookies).

We'd have certainly adapted if we couldn't share cookies, but it would have been a lot messier.

Couldn't you just ghetto load balance by using internal DNS to round robin to a spread of servers with different internal IP ?

  • DNS caching and thus the load distribution is outside the control of the entity running the servers. You assume you get roughly same traffic on each of the published IP addresses, you even think you can advertise some address twice so that it gets twice the load vs other severs (if you just set up a server capable of serving twice the traffic), but the reality is one of these IP addresses might be used for 90% of the requests (as an example) due to caching and bad luck.

    So no, you cannot reliably control load balancing using one domain name pointing to multiple IP addresses. (IP anycast is better suited, but much harder to implement)