当前位置: 首页 > news >正文

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

1. redis主从配置

# 在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 # 启动监控

在这里插入图片描述

在这里插入图片描述

# 在slave中
redis-sentinel /etc/redis/sentinel.conf # 启动监控,在这之前一定要同步好sentinel.conf文件

在这里插入图片描述

2. 高可用自动切换

2.1 原master down

在这里插入图片描述

在这里插入图片描述

2.2 原master恢复为slave

在这里插入图片描述
在这里插入图片描述

2.3 问题

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

min-slaves-to-write=2

在这里插入图片描述

在这里插入图片描述

3. 负载均衡(redis集群)

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

3.1 配置

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

在这里插入图片描述

3.2 拉起

# 快速拉起集群
./create-cluster create

在这里插入图片描述

redis-cli --cluster check 127.0.0.1:30001 # 查看集群

在这里插入图片描述

3.3 调用

redis-cli -c -p 30004 # 进入某个节点

在这里插入图片描述

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

3.4 故障切换

redis-cli -c -p 30002 shutdown # 原先的master故障

在这里插入图片描述

3.5 集群不可用

当hash表不完整时候,集群不可用
在这里插入图片描述
在这里插入图片描述

3.6 在线增加节点

vim create-cluster

在这里插入图片描述

./create-cluster start # 在线开启redis-cli --cluster helpredis-cli --cluster add-node 127.0.0.1:30007 127.0.0.1:30001 # 添加节点

在这里插入图片描述

在这里插入图片描述

redis-cli --cluster add-node 127.0.0.1:30008 127.0.0.1:30001 --cluster-slave --cluster-master-id 6857101497d39b5d9ab59fbbd3b533c96baa1b4e # 添加节点同时,将其作为30007的slave

在这里插入图片描述

# 交互式手动分配hash
redis-cli --cluster reshard 127.0.0.1:30001 # 后面的节点任意

在这里插入图片描述

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • FPGA开发:初识FPGA
  • 建行的一些记录
  • 更懂消费者 火山引擎数据飞轮助力乳企数智升级
  • AI机械键盘,罗技推出首款AI机械键盘K98M
  • 云计算之数据库
  • K8S 发布应用
  • 《零散知识点 · Kafka 知识拓展》
  • 前端项目开发之安装prettier和使用
  • 如何在平凡的生活中看到商机?
  • CSS - 搜索框小动效
  • ArcGIS Pro SDK (十二)布局 8 布局元素选择和更改
  • 秒懂:进程(概念初晓)
  • 安防视频综合管理系统EasyCVR视频汇聚平台集群部署出现状态不同步的情况是什么原因?
  • 如何在 Ubuntu 14.04 LTS 上安装 Nginx
  • linux nc
  • ----------
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【剑指offer】让抽象问题具体化
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java读取Properties文件的六种方法
  • log4j2输出到kafka
  • Material Design
  • PaddlePaddle-GitHub的正确打开姿势
  • php ci框架整合银盛支付
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Vue2.0 实现互斥
  • 技术胖1-4季视频复习— (看视频笔记)
  • 三栏布局总结
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 说说动画卡顿的解决方案
  • 新版博客前端前瞻
  • mysql面试题分组并合并列
  • Spring第一个helloWorld
  • 选择阿里云数据库HBase版十大理由
  • ​Python 3 新特性:类型注解
  • #07【面试问题整理】嵌入式软件工程师
  • #NOIP 2014# day.2 T2 寻找道路
  • #NOIP 2014#Day.2 T3 解方程
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (02)Unity使用在线AI大模型(调用Python)
  • (06)金属布线——为半导体注入生命的连接
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (离散数学)逻辑连接词
  • (七)理解angular中的module和injector,即依赖注入
  • (四)c52学习之旅-流水LED灯
  • (转)iOS字体
  • (转)LINQ之路
  • (转)程序员疫苗:代码注入
  • (转)负载均衡,回话保持,cookie
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .NET Framework与.NET Framework SDK有什么不同?
  • .net开发时的诡异问题,button的onclick事件无效