That's not how the Internet works.
When a network operator wants to receive traffic to a particular range of addresses, it announces its route to that 'prefix' to the other networks it connects to. This propagates across the Internet to every other router, which updates its internal routing table accordingly. As such, every single route announced to the Internet has a memory and performance penalty on every router that gets the full routing table.
For this reason, announcements for IPv4 prefixes longer than /24 (that is, less than one /24's worth of addresses) get dropped. So, the minimum address block that may be announced is a /24.
Most IP-based multi-location load-balancing is based on
anycasting, which is the announcement of the same addresses from multiple locations. This works out pretty well, but it is an expensive proposition: first, you need to reliably interconnect with multiple networks in multiple locations using BGP, and you need someone to properly engineer the network. Then, you need to be able to deal with any packet from any user going to any of the locations at any time. This pretty much rules out TCP, unless you have strong interconnectivity between the multiple locations and an architecture that can deal with this in a resilient fashion. (UDP, and particularly DNS itself, is very suited for Anycast.)
This requirement for interconnectivity between locations is a serious weakness. Part of how Linode, etc, excel is by
not having their own global backbone connecting the various locations. This means that (barring human or meta-architectural failure) a fault that affects one location cannot affect the other locations. You can find providers that do have connectivity between their locations, but you'll inevitably find they're either really expensive and "carrier-grade" (i.e. "Certainly! Our minimum buy is 8x 42U two-post racks, and we have a loading dock right next to the freight elevator... what's a UPS?"), or they have very limited geographic coverage (i.e. "We have a redundant global network with a datacenter in Minneapolis and another in St. Paul!"), or they suck.
Long story short: DNS-based load balancing
can be done today very cheaply, and because clients will be sticky to one IP address for a particular TCP connection, it gets around the whole TCP state problem. It's the way to go, and you'd probably end up having to do it anyway.
Oh, and no matter what, database replication cannot occur faster than the speed of light. Welcome to my hell.
_________________
Code:
/* TODO: need to add signature to posts */