使用 docker-compose 构建 redis-cluster 集群  

一、前言

1、redis 主从复制解决的问题

主从复制中,一个master,多个slave。设置几个 slave 由 需求决定(需要的读吞吐量)。

主从复制,实现了提升 redis 读性能和冗余备份,而主从复制 与 redis-sentinel 哨兵机制结合,实现了高可用的故障自动转移。

 

2、redis 主从复制没有解决的问题

redis 主从复制并没有解决数据容量的问题,在主从复制架构中,每一个节点的内容都是相同的、完整的数据。

可以很轻易的看出来,这个架构并没有能够实现高效率的横向水平扩容。如果数据量增大,就只能不断的加内存,不止 master加,slave 也要跟着加。

在业务量只是集中于读时,主从复制 + 哨兵机制是一个很好的应对方案。

但是如果是 海量数据 + 高并发 + 高可用的场景,那么引入 redis cluster 集群,将是非常有必要的。

 

3、数据分布的方式

https://www.haveyb.com/article/238

 

二、构建

docker快速构建三主三从 redis-cluster

1、节点规划(三主三从)

容器名称 容器IP地址 映射端口号
redis-master1 172.20.0.2 6391->6391
redis-master2 172.20.0.3 6392->6392
redis-master3 172.20.0.4 6393->6393
redis-slave-1 172.30.0.2 6394->6394
redis-slave-2 172.30.0.3 6395->6395
redis-slave-3 172.30.0.4 6396->6396

 
2、下载文件

  1. mkdir /data/docker
  2. cd /data/docker
  3. git clone https://github.com/haveyb/redis-cluster.git
  4. cd redis-cluster

 
3、开始构建

(1)构建镜像

  1. docker build -t redis-cluster /data/docker/redis-cluster

 
(2)快速构建多个容器

  1. docker-compose up -d

注:安装docker-compose

 
(3)使用docker ps -a 查看结果

 

 



Top