I think it's kind of ridiculous to even bother arguing about this. Memcached does what it does and it does it exceptionally well, to the point that it's used very heavily at most of the largest websites in the world.
Having said that, I just googled "distributed system" and took some definitions from the first few results: A distributed system consists of a collection of autonomous computers, connected through a network and distribution middleware, which enables computers to coordinate their activities and to share the resources of the system, so that users perceive the system as a single, integrated computing facility. or, this one from Google itself: A distributed system is an application that executes a collection of protocols to coordinate the actions of multiple processes on a network, such that all components cooperate together to perform a single or small set of related tasks. Memcached clearly fits both of these definitions. The servers are autonomous but through the middleware/protocol design, they work together to perform one single task (acting as a cache/distributed hash table) and appear as a single facility to any client. I think the only problem that the OP has is that the "middleware" is embedded in the client, but this just means that the distribution is, in a way, baked into the protocol. As long as every client agrees on the protocol/hash, everything works perfectly. And there is no single point of failure, because if you lose a server, the cache as a whole continues to function. On Fri, Jun 11, 2010 at 12:54 PM, Brian Moon <[email protected]> wrote: > After the recent thread and reading some comments on the memcached wiki I > think I know what is wrong. People see the word distributed and think it > means replicated. > > http://www.merriam-webster.com/dictionary/distribute says: > > distribute: > 1 : to divide among several or many > 2 : to spread out so as to cover something : scatter > 3 : to divide or separate especially into kinds > 4 : to use in or as an operation so as to be mathematically distributive > > POW! memcached (the solution, not the daemon) satisfies all of these > definitions to a tee. > > http://www.merriam-webster.com/dictionary/replicate says: > > replicate: > produce a replica of itself > > This is not what memcached is or does. Never claimed to. > > -- > > Brian. > -------- > http://brian.moonspot.net/ > -- awl
