redis主从+高可用切换+负载均衡

1. redis主从配置

bash 复制代码
# 在master中
cp sentinel.conf /etc/redis/
vim /etc/redis/sentinel.conf
scp /etc/redis/sentinel.conf server2:/etc/redis/
scp /etc/redis/sentinel.conf server3:/etc/redis/
redis-sentinel /etc/redis/sentinel.conf # 启动监控
bash 复制代码
# 在slave中
redis-sentinel /etc/redis/sentinel.conf # 启动监控,在这之前一定要同步好sentinel.conf文件

2. 高可用自动切换

2.1 原master down

2.2 原master恢复为slave


2.3 问题

当客户机和master直接网络畅通,而master和slave直接网络故障,在切换主从过程中,客户向原来的master中写数据,会造成丢失。需要限制在切换主从时候添加数据。

bash 复制代码
min-slaves-to-write=2

3. 负载均衡(redis集群)

无中心化,所有节点均可读写

3.1 配置

bash 复制代码
# 停用之前的环境,防止影响实验
/etc/init.d/redis_6379 stop
bash 复制代码
cd utils/create-cluster/
./create-cluster start # 开启集群,该文件是配置文件,可以在里面加入集群的IP

3.2 拉起

bash 复制代码
# 快速拉起集群
./create-cluster create
bash 复制代码
redis-cli --cluster check 127.0.0.1:30001 # 查看集群

3.3 调用

bash 复制代码
redis-cli -c -p 30004 # 进入某个节点

在任意一节点上写入数据,会被重定向到对应的master。

3.4 故障切换

bash 复制代码
redis-cli -c -p 30002 shutdown # 原先的master故障

3.5 集群不可用

当hash表不完整时候,集群不可用

3.6 在线增加节点

bash 复制代码
vim create-cluster
bash 复制代码
./create-cluster start # 在线开启
 redis-cli --cluster help
 redis-cli --cluster add-node 127.0.0.1:30007 127.0.0.1:30001 # 添加节点
bash 复制代码
redis-cli --cluster add-node 127.0.0.1:30008 127.0.0.1:30001 --cluster-slave --cluster-master-id 6857101497d39b5d9ab59fbbd3b533c96baa1b4e # 添加节点同时,将其作为30007的slave
bash 复制代码
# 交互式手动分配hash
redis-cli --cluster reshard 127.0.0.1:30001 # 后面的节点任意
相关推荐
奇树谦1 小时前
Qt | 利用map创建多个线程和定时器
网络·数据库·qt
用户47949283569151 小时前
性能提升 4000%!我是如何解决 运营看板 不能跨库&跨库查询慢这个难题的
数据库·后端·postgresql
电商API&Tina1 小时前
跨境电商 API 对接指南:亚马逊 + 速卖通接口调用全流程
大数据·服务器·数据库·python·算法·json·图搜索算法
robinson19882 小时前
验证崖山数据库标量子查询是否带有CACHE功能
数据库·oracle·cache·自定义函数·崖山·标量子查询
老华带你飞2 小时前
农产品销售管理|基于java + vue农产品销售管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
SelectDB2 小时前
5 倍性能提升,Apache Doris TopN 全局优化详解|Deep Dive
数据库·apache
JIngJaneIL3 小时前
基于springboot + vue房屋租赁管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
陈平安安3 小时前
设计一个秒杀功能
java·数据库·sql
isNotNullX3 小时前
数据处理的流程是什么?如何进行数据预处理?
数据库·数据资产管理·数据处理·企业数字化
TAEHENGV3 小时前
基本设置模块 Cordova 与 OpenHarmony 混合开发实战
android·java·数据库