Codis 高可用负载均衡群集的搭建与使用
声明
此篇文章,涉及到东西比较多,文章比较长,适合耐心的童鞋们阅读,生产环境部署可参考此篇文章。
Codis 并不太适合 key 少,但是 value 特别大的应用, 而且你的 key 越少, value 越大,最后就会退化成单个 redis 的模型 (性能还不如 raw redis),所以 Codis 更适合海量 Key, value比较小 (<= 1 MB) 的应用。 codis-proxy 提供连接集群redis服务的入口
codis-redis-group 实现redis读写的水平扩展,高性能
codis-redis 实现redis实例服务,通过codis-ha实现服务的高可用
实验环境
网络拓扑图
群集架构图
机器与应用列表
System version: CentOS 6.5
IP: 192.168.43.130 hostname: vmware-130
apps: keepalived+haproxyMaster,zookeeper_1,codis_proxy_1, codis_config, codis_server_master,slave
IP: 192.168.43.131 hostname: vmware-131
apps: zookeeper_2, codis_proxy_2, codis_server_master,slave
IP: 192.168.43.132 hostname: vmware-132 apps: keepalived
+
haproxy
Backup,
zookeeper_3,
codis_proxy_3, codis_server_master,slave
VIP: 192.168.43.100 Port: 45001
备注:由于是虚拟测试环境,非生产环境,所以一台机器跑多个应用,如应用于生产环境,只需把应用分开部署到相应机器上即可。
一、初始化CentOS系统
1. 使用镜像站点配置好的yum安装源配置文件
cd /etc/yum.repos.d/
/bin/mv CentOS-Base.repo CentOS-Base.repo.bak wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
接下来执行如下命令,检测yum是否正常 yum clean all #清空yum缓存 yum makecache #建立yum缓存
然后使用如下命令将系统更新到最新
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* #导入签名KEY到RPM yum upgrade -y
#更新系统内核到最新
2. 关闭不必要的服务
for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sun off;done for sun in `chkconfig --list|grep 5:on|awk '{print $1}'`;do chkconfig --level 5 $sun off;done for sun in crond rsyslog sshd network;do chkconfig --level 3 $sun on;done for sun in crond rsyslog sshd network;do chkconfig --level 5 $sun on;done
3. 安装依赖包
yum install -y gcc make g++ gcc-c++ automake lrzsz openssl-devel zlib-* bzip2-* readline* zlib-* bzip2-*
4. 创建软件存放目录
mkdir /data/packages
5. 软件包版本以及下载地址:
jdk1.8.0_45 zookeeper-3.4.6 go1.4.2 pcre-8.37 haproxy-1.4.22 keepalived-1.4.26