AppFabric Caching can handle multiple cache servers running parallel, the individual cache servers form a cluster, the client web servers see the cache as a single cache cluster and not as individual cache servers. AppFabric caching takes care of synchronizing the cache handling between the various cache servers.
Each cache server contains a Cache Host windows service, which takes care of the managing the cache and replicating cache data across the various servers in the cache cluster.
The following diagram shows the AppFabric caching architecture in a cache cluster environment.
It is advisable to use dedicated servers for the cache host, this makes sure that the memory and processor are used dedicatedly for providing the most effective caching. The cache servers can also be used as sharing servers, which perform other operations apart from caching however this will bring down the caching efficiency.Also it is advisable to host all the cache servers in the same domain, network and data center, splitting the cache servers across networks and data centers reduce the efficiency of caching, also when the cache servers are in different locations, high availability of the cached data cannot be guaranteed, since syncing data between servers at various locations / networks becomes difficult.