【Redis 多机服务的简单认识】

2023-09-14 16:45:01

目录

主从同步

哨兵模式

集群服务


随着业务的不断发展,单机 Redis 的性能已经不能满⾜我们的需求了,此时我们需要将单机 Redis 扩展为多机服务,Redis 多机服务主要包含以下 3 个内容:

  • Redis 主从同步
  • Redis 哨兵模式
  • Redis 集群服务(Redis 3.0 新增功能)

主从同步

主从同步 (主从复制) 是 Redis ⾼可⽤服务的基⽯,也是多机运⾏中最基础的⼀个。我们把主要存储数据的节点叫做主节点 (master),把其他通过复制主节点数据的副本节点叫做从节点 (slave),如下图所示:

在 Redis 中⼀个主节点可以拥有多个从节点⼀个从节点也可以是其他服务器的主节点,如下图所示:

主从服务器设置
在 Redis 运⾏过程中,我们可以使⽤ replicaof host port 命令,把⾃⼰设置为⽬标 IP 的从服
务器,执⾏命令如下:

127.0.0.1:6379> replicaof 127.0.0.1 6380
OK 

如果主服务设置了密码,需要在从服务器输⼊主服务器的密码,使⽤ config set masterauth
服务密码命令的方式,例如:

127.0.0.1:6377> config set masterauth pwd123456
OK

主从同步优、缺点分析

主从同步具有以下 3 个优点

  • 性能方面:有了主从同步之后,可以把查询任务分配给从服务器,⽤主服务器来执⾏写操作,这样极⼤的提⾼了程序运⾏的效率,把所有压⼒分摊到各个服务器了;
  • 高可用:当有了主从同步之后,当主服务器节点宕机之后,可以很迅速的把从节点提升为主节点,为 Redis 服务器的宕机恢复节省了宝贵的时间;
  • 防⽌数据丢失:当主服务器磁盘坏掉之后,其他从服务器还保留着相关的数据,不⾄于数据全部丢失。 

主从同步的缺点:这种模式本身存在⼀个致命的问题,当主节点奔溃之后,需要人工干预才能恢复 Redis 的正常使⽤。

哨兵模式

假如晚上发⽣了主从服务器宕机的情况,尤其是在主从服务器节点⽐较多的情况下,如果需要⼈⼯恢复,那么需要的时间和难度是很⼤的,因此我们需要⼀个⾃动的⼯具——Redis Sentinel (哨兵模式) 来把⼿动的过程变成⾃动的,让 Redis 拥有自动容灾恢复 (failover) 的能⼒

也就是说:使⽤哨兵模式可以⽤来监控主从同步服务器节点,并在主从服务器出现问题的时候实现⾃动容灾恢复
哨兵模式如下所示:

PS:Redis Sentinel(哨兵) 的最小分配单位是⼀主⼀从。
哨兵⼯作原理
哨兵的⼯作原理是,⾸先每个 Sentinel 会以每秒钟 1 次的频率,向已知的主服务器、从服务器和以及其它 Sentinel 实例,发送⼀个 PING 命令。
如果最后⼀次有效回复 PING 命令的时间超过 down-after-milliseconds 所配置的值 (默认
30s),那么这个实例会被 Sentinel 标记为主观下线。
如果⼀个主服务器被标记为主观下线,那么正在监视这个主服务器的所有 Sentinel 节点,要以每秒 1 次的频率确认主服务器的确进⼊了主观下线状态。
如果有⾜够数量 (quorum 配置值) 的 Sentinel 在指定的时间范围内同意这⼀判断,那么这个主服务器被标记为客观下线。此时所有的 Sentinel 会按照规则协商⾃动选出新的主节点。

注意:⼀个有效的 PING 回复可以是:+PONG、-LOADING 或者 -MASTERDOWN。如果返回值非以上三种回复,或者在指定时间内没有回复 PING 命令, 那么 Sentinel 认为服务器返回的回复⽆效(non-valid)。

集群服务

Redis 集群(Redis Cluster)是 Redis 多机运⾏最完美的终极⽅案,它是 Redis 3.0 之后推出的服务,它的出现可以让我们完全抛弃主从同步和哨兵模式来实现 Redis 多机运⾏
Redis Cluster 是⽆代理模式去中心化的运⾏模式,客户端发送的绝⼤数命令会直接交给相关节点执⾏,这样⼤部分情况请求命令⽆需转发,或仅转发⼀次的情况下就能完成请求与响应,所以集群单个节点的性能与单机 Redis 服务器的性能是非常接近的,因此在理论情况下,当⽔平扩展⼀倍的主节点就相当于请求处理的性能也提⾼了⼀倍,所以 Redis Cluster 的性能是非常⾼的。
Redis Cluster 架构图如下所示:

从上图可以看出 Redis 的主从同步只能有⼀个主节点,⽽ Redis Cluster 可以拥有⽆数个主从节点,因此 Redis Cluster 拥有更强⼤的平⾏扩展能⼒,也就是说当 Redis Cluster 拥有两个主从节点时,从理论上来讲 Redis 的性能相⽐于单机服务来说性能提升了 2 倍。
 


 

更多推荐

多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出

多输入多输出|MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出目录多输入多输出|MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出预测效果基本介绍程序设计往期精彩参考资料预测效果基本介绍MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出1.dat

【码银送书第七期】七本考研书籍

八九月的朋友圈刮起了一股晒通知书潮,频频有大佬晒出“研究生入学通知书”,看着让人既羡慕又焦虑。果然应了那句老话——比你优秀的人,还比你努力。心里痒痒,想考研的技术人儿~别再犹豫了。小编咨询了一大波上岸的大佬,这份备考书单给大家参考。专业课(此处特指408,全称计算机专业基础综合)知识点超级多,题目灵活,数据结构、计算机

考研408 | 【计算机组成原理】 数据的表示和运算

进位计数制十进制计数法:推广:r进制计数法任意进制-->十进制:二进制<-->八进制、十六进制:各种进制的常见书写方式:十进制-->任意进制:十进制-->二进制(拼凑法):真值和机器数:总结:BCD码总结:无符号整数的表示和运算无符号整数在计算机中的应用:无符号整数的表示:无符号整数的加法运算:无符号整数的减法运算:总

uniapp运行到IOS真机提示 错误:请查看是否设备未加入到证书列表或者确认证书类型是否匹配

参考文章:请查看是否设备未加入到证书列表或者确认证书类型是否匹配ios开发描述文件必须绑定调试设备,只有授权的设备才可以直接安装基座,所以在申请开发描述文件之前,先添加调试的IOS设备。前往网站https://developer.apple.com,在Devices中,添加手机设备UUID第一步:登录第二步:检查设备列

VHOST-SCSI代码分析(1)VHOST SCSI设备模拟

VHOSTSCSI设备的模拟是由QEMU和HOST共同实现的,QEMU模拟VHOSTSCSI设备配置空间等,而对于虚拟机通知HOST和HOST通知虚拟机机制由HOST内核实现。在QEMU中VHOSTSCSI设备继承关系如下:其它设备以及对应class_init函数和realize具现化实现与VIRTIO-SCSI一致,

Learn Prompt-为什么用 ChatGPT API?

引用人工智能先驱吴恩达先生说过的话:“一个系统需要的远不止一个提示(prompt)或者一个对LLM(大性语言模型)的调用。”API的优点:集成更深:通过API,您可以将ChatGPT集成到自己的系统和工作流中,实现更深层次的定制和控制。个性化的响应:您可以根据特定需求和场景调整模型的响应,例如,通过改变温度(tempe

华策影视AIGC工程师招聘; 百度大模型创业松;主流大语言模型的技术原理细节;AIGC Prompt的七个缺陷 | ShowMeAI日报

👀日报&周刊合集|🎡生产力工具与行业应用大全|🧡点赞关注评论拜托啦!🎯华策影视AIGC工程师招聘,AIGC在「文娱领域」的真正落地逛即刻时发现关注的AI博主@杨昌发布了自己公司的招聘信息,而且附上了团队氛围和工作感受等分享。华策影视是影视行业龙头企业,成立了AIGC应用研究院,重视AI且不算卷。岗位base上海

Learn Prompt-ChatGPT 精选案例:学习各国语言

过去,我们学语言需要花费很多时间来学习各种材料,再联系老师修改口语、作文等,十分费时费力。有了ChatGPT之后,我们就相当于有一个免费的,实时反馈的语言学习助手,大大节省了我们的时间。下面我将以英文的雅思学习为例子,结合口语和写作,介绍如何利用ChatGPT来学习语言。口语​插件安装​正式开始之前,我们要先完成插件的

安防监控系统/视频云存储/视频监控平台EasyCVR无法级联上级平台,该如何解决?

安防视频监控系统EasyCVR平台能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控管理平台EasyCVR支持多种播放协议,包括:HLS、HTTP-F

【视频】Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析|数据分享...

全文下载链接:http://tecdat.cn/?p=23544在本文中,长短期记忆网络——通常称为“LSTM”——是一种特殊的RNN递归神经网络,能够学习长期依赖关系(点击文末“阅读原文”获取完整代码数据)。本文使用降雨量数据(查看文末了解数据免费获取方式)进行分析。视频:LSTM神经网络架构和工作原理及其在Pyth

Zynq UltraScale+ XCZU3EG 纯VHDL解码 IMX214 MIPI 视频,2路视频拼接输出,提供vivado工程源码和技术支持

目录1、前言免责声明2、我这里已有的MIPI编解码方案3、本MIPICSI2模块性能及其优越性4、详细设计方案设计原理框图IMX214摄像头及其配置D-PHY模块CSI-2-RX模块Bayer转RGB模块伽马矫正模块VDMA图像缓存VideoScaler图像缓存DP输出5、vivado工程详解PL端FPGA硬件设计PS

热文推荐