关于memcached分布式拓扑结构的可靠性

memcached依赖客户端的散列实现了“分布式',但是由于缺少结点间的复制(replication)功能,memcached的"单一节点"的可靠性是没有保证的。对比ehcache的Terracotta Server Array拓扑结构(参考:http://blog.csdn.net/bluishglc/article/details/6889928)我们就会发现,Terracotta Server Array在实现了以mirror group为单位的分布式拓扑结构的基础之上,在每个mirro group内的结点之间又实现了结点间的复制(replication),从而确保了“单一结点”(即mirror group)的可靠性。为了能实现memcached的结点间复制,也出现了一些针对memcached的第三方复制工具,其中比较知名的是repcached:http://repcached.lab.klab.org/ ,但是该项目的活跃度并不高,目前最新的版本是2009年5月发布的,只能支持memcached 1.2.x.

但是从另一个方面来看,对于分布式“缓存”来说,单一结点的可靠性似乎不是”那么的重要“,原因在于,缓存中的数据都是来自原始数据(如数据库)的拷贝,缓存当机不会导致数据的丢失,另一方面,一个结点失效后,数据可以散列到其他结点上(这完全有赖于一致性哈希算法Consistent Hashing尽可能小地去改变已存在数据与结点的映射关系),因此对memcached这类分布式缓存,虽然其单一结点可靠性没有保证,但是其拓扑能从整体上保证缓存的可靠性。

你可能感兴趣的:(算法,数据库,server,memcached,工具)