These days, more and more apps are running in the cloud, and they're starting to take memcached with them. For example, as we announced earlier this week, nearly 300 applications are using NorthScale's memcached as a service on Heroku's Ruby-based PaaS cloud platform.
In the past, most environments using memcached have run it on a single, controlled LAN: usually the frontend web servers sitting on the DMZ, without even the normal firewall or router sitting between the DMZ and the database. In this environment, one can reasonably expect that server failures are far more likely than even a single dropped packet, and waiting for a retransmit is likely to take longer than a hit to the database, so it makes sense to set extremely aggressive timeouts, on the order of 100-250ms or less, for memcached operations.
In contrast, cloud networking environments tend to be far less controlled, since they're shared with other customers, and even the location of a given service is not necessarily under the control of the user.
Read more »