您的位置:首页 > 数据库 > Memcache

Memcached高可用搭建过程

2017-12-22 15:56 232 查看

一、Memcached作用

1)Memory Cache — 使用内存作为数据的缓冲,加快数据的读取,减少DB服务器的负担。

2)在无数的大型网站中,Memory Cache起着至关重要的作用,往往这些大型网站会用上百台Memory Cache服务器。

3)而在中小型的项目中,适当使用Memory Cache(性能与成本之间的妥协)也是非常有必要的。

二、高可用架构



1、组件承担的角色 
1)memcache负责缓存对象。 
2)repcached负责单主单从的同步备份。 
3)haproxy负责Magent的负载均衡。
4)对外提供一个vip访问。

2、集群思路 
1)利用repcached对memcache进行1对1的主备设计。 
2)所有节点均提供主备,避免单点故障发生。

3、部署环境

系统:centos 7.4 x64

环境采用 2个主memcache  2个haproxy

角色
             Ip地址                  部署软件

HAproxy01
192.168.166.21(A)    HAproxy+keepalived

HAproxy02192.168.166.22(B) 
  HAproxy+keepalived

Memcached01  192.168.166.31(主)Memcache-1.2.8-repcached-2.2

Memcached02  192.168.166.32(主)Memcache-1.2.8-repcached-2.2

haproxy与keepalived这里就不在详解了,可以参考http://blog.csdn.net/sj349781478/article/details/78862315

1)安装memcached-repcached
1.下载

wget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz
tar -zxf memcached-1.2.8-repcached-2.2.tar.gz
2.安装libevent-devel包:

 yum install libevent-devel -y
3.编译安装repcached

 cd memcached-1.2.8-repcached-2.2

 ./configure --enable-replication --program-transform-name=s/memcached/repcached/

 make

 make install
这里编译会遇到个小问题,把报错输入百度可以查到
4.启动master,端口默认是11211      IP: 192.168.166.31

/usr/local/bin/repcached -p 11211 -x 192.168.166.31 -v -d -u root
5.启动slave 端口任意,默认同步端口11211    IP: 192.168.166.32

/usr/local/bin/repcached -p 11211 -x 192.168.166.32 -v -d -u root

6.加入开机自启动
vi /etc/rc.d/rc.local
/usr/local/bin/repcached -d -m 1024 -p 11211 -u root -c 1024  -x 192.168.166.31 -X 11211

具体可以参考此文:安装repcached,并测试双向复制是否成功  

2)HAproxy配置

vi /etc/haproxy/haproxy.cfg

listen memcached_repcache_cluster 0.0.0.0:11211

 mode  tcp

 option tcplog

 balance roundrobin

 server memcache01 192.168.166.31:11211 check inter 5000 rise 2 fall 2

 server memcache02 192.168.166.32:11211 check inter 5000 rise 2 fall 2

配置完需要重启HAproxy

# service haproxy restart



3)配置keepalived

因为我之前配置过keepalived,所以这里只需要添加相关的配置即可。

可以参考http://blog.csdn.net/sj349781478/article/details/78862315

vi /etc/keepalived/keepalived.conf

主机

vrrp_instance memcache {

    state MASTER

    interface eth1

    virtual_router_id 29

    priority  150

    authentication {

        auth_type PASS

        auth_pass 29

    }

    virtual_ipaddress {

    192.168.166.29

    }

    track_script {

         chk_haproxy

    }

    notify_master "/etc/keepalived/scripts/haproxy_master.sh"

}

备机

vrrp_instance memcache {

    state BACKUP

    interface eth1

    virtual_router_id 29

    priority  100

    authentication {

      auth_type PASS

      auth_pass 29

    }

    virtual_ipaddress {

    192.168.166.29

    }

    track_script {

         chk_haproxy

    }

    notify_master "/etc/keepalived/scripts/haproxy_master.sh"

}

重新启动keepalived
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: