关于magent的安装,在上篇已经讲过,请查看:Memcached之代理服务magent(8)

magent简介

1,和Memcached一样,也是基于libevent的事件驱动模型。从安装magent就能看得出来,必须先安装libevent包。

2,支持ketama的一致性算法。

3,支持Memcached的二进制协议,实现请求转发。

4,magent和每个memcached保持多个长连接,以实现数据的实时同步和主从节点的检测。

5,magent根据集群来做备份的。当Memcached命令发送到某台已经挂掉的Memcached服务器时,命令将会转发到Memcached backup集群中。

magent根据集群来做备份的

magent根据集群来做备份的

magent根据集群来做备份的

重要的事情说三遍,哈哈。那magent根据集群来做备份是怎么回事呢?其实就是magent启动命令中所有的-s参数的主节点组成一个集群,-b参数的backup节点组成一个集群。backup节点组成的集群会备份主节点组成集群的数据,当Memcached命令发送到某台已经挂掉的Memcached服务器时,命令将会转发到Memcached backup集群中,当挂掉的主节点上线,所有操作都会在主节点执行,但是因为Memcached挂掉后数据不存在,所以会造成之前的数据无法获取。

magent工作方式

1,get操作,先到主Memcached上读取;如果失败,再到备份Memcached上读取,这样就会导致两次读。
2,如果一次gets多个key的值,会逐个执行1中的步骤。
3,Magent解析出客户端发送的命令,然后向映射到的Memcache服务器发送命令,如果Memcache服务器连接不上,Magent会向backup Memcached集群发送命令。
3,delete,incr,decr,add,set,replace,prepend,append,cas同时操作主Memcached和备份的Memcached。写操作:先操作备份Memcached,再操作普通的Memcached。


基于Magent的HA架构图:

一个Magent对应一个主Memcached和一个Backup Memcached。客户端连接到各个Magent,组成一个集群。

Memcached之HA架构(9)

客户端只连一个Magent,这个Magent包含多个主Memcached,和多个从Memcached。Backup集群备份主节点集群。

Memcached之HA架构(9)

Magent和Memcached混合使用:

Memcached之HA架构(9)


还有另外一个Memcached代理工具moxi(先知),看这个名字就很diao了,不过我没有用过,大家有兴趣可以了解下。

相关文章:

  • 2021-10-17
  • 2021-10-27
  • 2021-08-29
  • 2022-02-12
  • 2021-11-28
  • 2021-12-30
猜你喜欢
  • 2021-04-28
  • 2022-12-23
  • 2021-07-24
  • 2021-12-16
  • 2022-12-23
  • 2021-05-12
  • 2021-06-19
相关资源
相似解决方案