【Docker部署Redis集群】分片+高可用+负载均衡

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 【Docker部署Redis集群】分片+高可用+负载均衡

一、搭建架构


1.1 准备工作


6台Redis20200730155203388.png

1.2 创建网卡


docker network create redis --subnet 172.38.0.0/16
docker network
docker network inspect redis


20200730155652671.png


1.3 创建redis的6个配置文件


for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >>/mydata/redis/node-${port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done


1.4 启动6个redis服务


docker run -p 6371:6379 -p 16371:16379 --name redis-1 \
-v /mydata/redis/node-1/data:/data \
-v /mydata/redis/node-1/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.11 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis-conf
docker run -p 6372:6379 -p 16372:16379 --name redis-2 \
-v /mydata/redis/node-2/data:/data \
-v /mydata/redis/node-2/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.12 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis-conf
........................
........................


以上的命令 -v为数据卷技术 数据同步到centos中


1.5 配置集群

docker exec -it redis-1 /bin/sh
redis-cli --cluster create 172.038.0.11:6379  172.38.0.12:6379  172.38.0.13:6379  172.38.0.14:6379  172.38.0.15:6379  172.38.0.16:6379  --cluster-replicas  1

1.6 测试


redis-cli  -c  
cluster  info


20200730173220795.png

2020073017331057.png


1.7 宕机测试


docker stop redis-3

模拟故障

20200730173522437.png

主机转移

20200730173542778.png

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
1月前
|
负载均衡 网络协议 网络安全
SLB-Backend多实例部署配置健康检查
【10月更文挑战第22天】
63 3
|
1月前
|
运维 负载均衡 算法
|
1月前
|
存储 缓存 监控
SLB-Backend跨区域/跨数据中心部署
【10月更文挑战第21天】
37 9
|
1月前
|
弹性计算 缓存 监控
SLB-Backend多实例部署
【10月更文挑战第21天】
34 5
|
2月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
301 3
|
2月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
38 3
|
2月前
|
消息中间件 NoSQL Kafka
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
57 4
|
2月前
|
缓存 NoSQL Redis
docker运行redis镜像
这篇文章介绍了如何使用Docker运行Redis镜像,并提供了启动和配置Redis容器的具体命令和步骤。
180 0
|
存储 缓存 NoSQL
Redis分片(分布式缓存)
分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集. 1 分片何用 Redis 的分片承担着两个主要目标: 允许使用很多电脑的内存总和来支持更大的数据库。
7949 0