Memcached学习笔记之六:memcached高可用集群原理及介绍

首先我要声明的是为什么叫分布式集群?
因为我们要达到的目的是要把缓存放到2台搭建在不同的服务器上面的memcached,所以我们如果两个memcached中放的是一样的数据,那么就是集群,如果是根据业务不同而放不一样的数据就是分布式!

memcached在实现分布式群集部署时,memcached服务之间是不能进行通讯的,分布式也是通过客户端的算法吧数据保存在不同的memcached中,所以当我们做完群集客户端往里面写入数据时,会出现下面的情况。

客户端往一个memcached节点写入数据后,另外两个节点是查询不到的。

那么如何结局额这个问题,就是接下来要做的了。

memcached这种群集之间不能相互通讯导致了这种情况,这在访问量很大的web网站中是不允许的。所以我们就要使用到一个magent开源软件来解决这个问题。

magent是一款开源的代理服务软件,我们可以通过他来实现缓存数据的同步,当然这里说的同步不是说memcached之间就能互相通讯了,而是magent可以备份数据,而magent可以同时连接多个memcached节点,当memcached重启或者宕机恢复后可以从magent指定的memcached的备份节点中恢复丢失的缓存数据。

通过上图来说明一下原理:

magent在启动时会指定主的memcached节点与备份的memcached节点,假设我们指定了两个主的缓存节点,一个备份节点,当客户端写入时会通过算法写在其中一个指定的主缓存节点中,并把数据备份到memcached备份节点中,当写节点重启后或者宕机恢复后会从备份节点中恢复丢失的缓存数据。

同时magent还可以使用keepalived来实现高可用。

具体配置步骤看下一篇


 

猜你喜欢

转载自blog.csdn.net/czcnuonuo/article/details/83501589