I'm looking for a way to have several physical front-end servers with ACID data access.

In a setup where several servers gets load-balanced using DNS-round robin, the problem is that whatever server you land on the data must be ACID. E.g. when sharding data you need to have the shard-mapping ACID across servers, right? 

How can I achieve this using open-source software?

One solution is MySQL Cluster but Google or Facebook does not use this(?). Is there an alternative?


Question: How can I find out which server OS a particular site is running?
Answer: Ask Netcraft: What's that site running?

http://uptime.netcraft.com/up/graph?site=google.com returns "server: gws" (ie Google Web Server).