采用rediscluster集群方案(没有中心节点),数据分布式存储在集群中各主节点中,为防止主节点挂掉,每个主节点配置相应数量冗余节点进行备份.
- 集群内部使用主从配置:
- 数据分布式存储:
建立集群步骤:
1.运行docker容器: -
- 默认情况下不能指定ip地址
C:\Users\fei>docker run -it -d --name r1 --ip 172.0.0.2 redis
fc17ad8d02c4a7a66378c72874ab834d18558d0866d241b2423bb319db933bf0
docker: Error response from daemon: Invalid address 172.0.0.2: It does not belong to any of this network’s subnets.
-
- 创建自定义网络
C:\Users\fei>docker network create --subnet=172.0.0.0/16 mynetwork
docker network ls命令查看桥接网络
-
- 创建指定IP地址的redis容器
docker run -it --name r1 --net mynetwork --ip 172.0.0.2 redis
类似方法再依次创建6个不同ip地址的redis容器
2.修改配置文件,配置redis节点
3.使用redis-trib.rb创建redis集群(replicas参数指定每个主节点的从节点数量)
redis-trib.rb create --replicas 1 172.0.0.2:6380 172.0.0.3:6381 172.0.0.4:6382 172.0.0.5:6380 172.0.0.6:6380 172.0.0.7:6380(将会创建3个主节点3个从节点)
4.随便连接到集群中的一个主节点容器如172.0.0.2:6380
docker exec -it r1
redis-cli -c
向其中存入数据则redis集群会进行计算并将数据存入到集群中的某个主节点中(虽然连接到了172.0.0.2节点但可能数据会被存放到其他主节点,当主节点无响应时数据会被存放到此主节点对应的从节点中)