当前位置:   article > 正文

memcached集群

memcached集群

一、介绍

memcache本身没有像redis所具备的数据持久化功能,但是可以通过做集群同步的方
式,让各memcache服务器的数据进行同步,从而实现数据的一致性,即保证各memcache的数据是一样的,即使有任何一台memcache发生故障,只要集群种有一台memcache可用就不会出现数据丢失,当其他memcache重新加入到集群的时候可以自动从有数据的memcache当中自动获取数据并提供服务。

repcached 是一个为 memcached 设计的插件,它提供了数据复制和同步的功能。通过安装和使用 repcached,可以构建一个高可用的 memcached 集群,其中数据可以在多个节点之间进行复制和同步,以减少单点故障的风险,并提高系统的容错能力。

二、集群部署

1、部署memcached:

准备两台memcached服务器,通过yum安装memcached。

yum install memcached -y

2、部署repcached

安装依赖:

  1. yum -y install libevent libevent-devel
  2. yum -y install gcc gcc-c++ autoconf automake make

获取repcached

wget https://jaist.dl.sourceforge.net/project/repcached/repcached/2.2.1-1.2.8/memcached-1.2.8-repcached-2.2.1.tar.gz

解压安装:

  1. tar xvf memcached-1.2.8-repcached-2.2.1.tar.gz
  2. cd memcached-1.2.8-repcached-2.2.1
  3. ./configure --prefix=/usr/local/repcached --enable-replication

vim memcached.c

删去第57、59行:

编译安装:

make && make install

验证是否可执行:

  1. echo 'PATH=/usr/local/repcached/bin:$PATH' > /etc/profile.d/repcached.sh
  2. . /etc/profile.d/repcached.sh

3、启动memcached:

memcached -d -u memcached -x 10.1.1.20

这条命令意思是以守护进程方式启动Memcached服务,并且允许来自10.1.1.20的连接。

10.1.1.20是对端memcached服务器 (memcached2) 的IP。

4、连接memcache验证数据:

安装telnet:

yum install -y telnet

连接memcached1并存储数据:

telnet 10.1.1.10 11211

连接memcached2查看数据是否同步:

5、使用python脚本连接memcached:

安装python-memcached:

python-memcached是一个软件包,允许 Python 程序通过 Memcached 协议与 Memcached 服务器通信,以存储和检索数据。

yum -y install python-memcached

编写python脚本:

连接到 Memcached 服务器,从中存储一些键值对,再检索出来并打印出来。

  1. #!/usr/bin/env python
  2. #coding:utf-8
  3. import memcache
  4. m = memcache.Client(['10.1.1.10:11211'], debug=True)
  5. for i in range(10):
  6. m.set("key%d" % i,"v%d" % i)
  7. ret = m.get('key%d' % i)
  8. print ret

运行python脚本:

  1. chmod +x m.py
  2. ./m.py

查看对端memcached数据是否同步:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/392221
推荐阅读
相关标签
  

闽ICP备14008679号