redis3.0集群实现方案

来源:互联网 发布:已备案域名如何注销 编辑:程序博客网 时间:2024/05/29 15:14

设计目标:

  1. 客户端对master的写入地址和写入端口不因为master的主备变更发生变化
  2. slave的读取地址和读取端口不因为slave集群的节点变化而变化
  3. 通过端口与分片对应,不同的分片在客户端映射到不同的写入或者读取地址与端口
  4. 可以基于一个ip地址添加端口方式增加分片的承载服务器master与slave集合
  5. 兼容2.8版本redis集群

redis3.0主机安装
master安装
slave安装
slave此处安装和原有方式略有不同,原本的salveof直接slaveof到redis的master就可以了,但是,由于3.0的数据分片机制造成了二次网络请求的坑,并且serverstack基于2.8的redis客户端对3.0的slave不能读写,所以slaveof方式发生点改变。同时为了支持2.8版本,将slave节点采用2.8slaveof的方式,在主机安装时产生一个master备份机的概念,顺便说一句,网上传的下图太扯了,3.0的数据压根不是这样的。3.0目前还没有数据代理功能,下面的功能没有实现
这里写图片描述
slave在方式里直接通过keepalived的master路由代理slaveof,这样在发生master漂移时无需变更slave配置,同时此种方式也能兼容基于2.8版本的多集群部署。
方案设计
这里写图片描述
方案的设计用到了keepalived的特性
关于keepalived见【1】【2】
redis集群部署方案
这里写图片描述

0 0
原创粉丝点击