作者:邹祁峰
邮箱:Qifeng.zou.job@hotmail.com
博客:http://blog.csdn.net/qifengzou
日期:2016.06.02
转载请注明来自”祁峰”的CSDN博客
Codis 是一个分布式Redis解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (有一些命令不支持, 如:keys、flushall, etc.), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务,当然,前段时间redis官方的3.0出了稳定版,3.0支持集群功能,codis的实现原理和3.0的集群功能差不多。[注:本文档适合搭建CODIS集群不熟练的人员]
1 大体架构
2 功能规划
2.1 用途规划
当前本人用有如下10台机器,其相关信息及用途规划如下:
序号 | IP | 主机名 | 部署程序 |
---|---|---|---|
01 | 192.168.1.11 | WebServer-11 | codis-server |
02 | 192.168.1.12 | WebServer-12 | codis-server |
03 | 192.168.1.13 | WebServer-13 | codis-server |
04 | 192.168.1.14 | WebServer-14 | codis-server |
05 | 192.168.1.15 | WebServer-15 | codis-server |
06 | 192.168.1.21 | WebServer-21 | codis-proxy |
07 | 192.168.1.22 | WebServer-22 | codis-proxy |
08 | 192.168.1.31 | WebServer-31 | zookeeper、codis-config、codis-ha |
09 | 192.168.1.32 | WebServer-32 | zookeeper |
10 | 192.168.1.33 | WebServer-33 | zookeeper |
2.2 程序功能
各程序得主要功能描述如下:
序号 | 程序名 | 功能描述 |
---|---|---|
01 | zookeeper | 用于存放数据路由表 |
02 | codis-config | 用于展示集群的监控信息 |
03 | codis-ha | 用于实现codis-server的主从切换 |
04 | codis-proxy | 用于转发redis命令至codis-server服务 |
05 | codis-server | 其是在redis的基础上进行修改的,用于存储真正的数据 |
2.3 部署结构图
按照2.1的用途规划,其部署效果如下图所示:
3 部署流程
3.1 zookeeper
作用:用于存放数据路由表。
描述:zookeeper简称zk。在生产环境中,zk部署越多,其可靠性越高。由于zk集群是以宕机个数过半才会让整个集群宕机,因此,奇数个zk更佳。
部署:按照2.1中的用途规划,将在如下几台机器上部署该程序。
序号 | IP | 主机名 | 部署程序 |
---|---|---|---|
01 | 192.168.1.31 | WebServer-31 | zookeeper、codis-config、codis-ha |
02 | 192.168.1.32 | WebServer-32 | zookeeper |