Good to see ‘random’ redefined as pick random two then assign to one with least connections, which works strictly better than either random or least connections alone.
Misses a couple categories that may be relevant: least hops or best transit type network-mapped balancing to get to the ideal set of servers globally, as well as a technique that not-so-simply connects the user to the geography with the fastest response for them right then.
While the article notes value of fewer connections for a stream, you can take a bit longer in setup for a stream to get it right, as you and the viewer will pay the price longer if you get it wrong.
All this gets much more complicated when balancing very large objects, as you have to consider content availability and cache bin packing among the servers you balance to.