-
Notifications
You must be signed in to change notification settings - Fork 30
/
Memcache实现高可用方案
54 lines (41 loc) · 1.97 KB
/
Memcache实现高可用方案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#memcache实现高可用方案
/*
* QQ: 2298535141
* emali: gogery@163.com
* author:asion
*/
源码:http://yunpan.cn/cHqfqdQagStBV 访问密码 cb6f
实现方案:使用repcached实现高可用
repcached:全称 replication cached是由日本人发明的memcached的高可用性技术,简称复制缓冲区技术
使用场景:它是一个单master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master 宕机, slave侦测后,它会自动 listen成为 master;而如果 slave坏掉, master也会侦测到连接断,它就会重新 listen等待新的 slave加入。
实现步骤:
1. 环境搭建
> yum -y install gcc gcc-c++ libevent-devel
2. 下载 memcached-1.2.8-repcached-2.2.tar.gz
> wget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz
3. 解压配置repcached
> tar zxvf memcached-1.2.8-repcached-2.2.tar.gz
> ./configure --enable-replication --program-transform-name=s/memcached/repcached/
4. 编译安装
> make && make install
5. 启动repcached (**注意不要使用 root 来启动服务**)
启动主服务
> /usr/local/bin/repcached -p 11211 -v -d
启动从服务
> /usr/local/bin/repcached -p 11212 -x localhost -v -d
注意:可以使用 ps aux | grep repcached 命令来查看进程
6. 参数解释
-d : 后台运行memcached进程
-p : 默认监听端口11211 11212
-x : 监听高可用机器,如果是监听默认端口不用写端口号,localhost就是监听本机
作用:第二个repcached监听第一个repcached如果有问题就接管
7. 测试
a. 先链接 11211 这个端口的服务,设置name 的值是 asion
> telnet localhost 11211
> set name 0 0 5
注意:在telnet 使用 quit 回车退出
b. 然后使用 11212 这个端口的服务
> telnet localhost 11212
> get name
c. 同样的测试可以反之在进行
8. 实验完成