教你用磁铁实现Memcached集群

  <>强磁铁是一款开源的Memcached代理服务器软件,使用它可以搭建高可用性的集群应用的Memcached服务,备份Memcached数据   

尽管Memcached服务挂掉,前端也能获取到数据,客户端先连到磁铁代理服务器,然后磁铁代理服务器在可以连接多台Memcached服务器,然后可以进行数据的保存和备份数据。这样数据就不会丢失,保存了数据完整性。

     <>强安装磁铁   

1)下载安装

  <>以前cd /usr/当地   mkdir 磁铁   wget  http://memagent.googlecode.com/files/magent-0.6.tar.gz   tar  -zxvf  magent-0.6.tar.gz/sbin/ldconfig   sed 我;“年代# LIBS =, levent # LIBS =, -levent  - lm # g", Makefile   

在ketama.h或magent.c开头添加

  
 # ifndef  SSIZE_MAX
  # define  SSIZE_MAX  32767年
  # endif
  使
  

复制使生成的/usr/地方/下名为磁铁的文件到/usr/bin/

  <>以前cp  magent /usr/bin/磁铁   

检查是否安装成功:

  <>之前。/magent  - h   

  <强>

  

  <强>

     <强>   <强>代理Memcache      

  <强>

  <>以前magent  -u  root  -n  51200, -l  192.168.1.90  -p  12000, -s  192.168.1.111:11211  -s  192.168.1.112:11212  -b  192.168.1.112:11211   磁铁参数说明:   -h 帮助说明   -u 用户   -g  gid   -p 启动端口,默认11211只(0,用disable  tcp 支持)   ip -s 服务memcached地址:港口,set  memcached  server  ip 以及港口   ip -b 备份memcached地址:港口,set  backup  memcached  server  ip 以及港口   -l 启动IP地址、IP, local  bind  ip 地址,default  is  0.0.0.0   -n 最大并发数数字,,set  max 连接,default  is  4096   -D 非后台运行不要# 39;t  go 用背景   -k  use  ketama  key  allocation 算法   文件,-f  unix  socket  path 用listen 又是;default  is    小姐,数量,set  max  keep  alive  connections  for  one  memcached 服务器,default  is  20   -v 详细   

  教你用磁铁实现Memcached集群”>
  <br/>如上一章,这次通过磁铁设值</p>
  <ul>
  <李>分别在11211、11212、11213年端口启动3个Memcached进程,在12000年端口开启磁铁代理程序,李</>
  <李> 11211、11212端口为主Memcached, 11213端口为备份Memcached,李</>
  <李>连接12000上的磁铁,根据哈希算法,值被写入11211或11212 Memcached和备份11213端口的Memcached,李</>
  <李>当11211、11212端口的Memcached死掉,连接12000端到口的磁铁取数据,数据会从11213端口的Memcached取出;李</>
  <李>当11211、11212端口的Memcached重启复活,连接到12000端口,磁铁会从11211年或11212年端口的Memcached取数据,由于这两台Memcached重启后无数据,因此磁铁取得的将是空值,尽11213端管口的Memcached还有数据。</李> </ul>
  
  <强>缓存与DB的同步</强>
  <p>比较保险的做法是:查询的时候从缓存中取,添加、updae,删除的时候同时操作缓存与DB。</p>
  <p>当然你也可以定时同步缓存与DB的数据,不同的业务应该有不同的选择。</p>
  <blockquote>
  <p>原文来自:
  https://www.linuxprobe.com/magent-memcached-cluster.html </p> </引用><h2 class=教你用磁铁实现Memcached集群