主从、哨兵、集群模式有什么区别 ?

目录

1.Redis 多机部署的方式

2.主从、哨兵、集群模式有什么区别

2.1 主从同步

 2.2 哨兵模式

2.3 集群模式


1.Redis 多机部署的方式

Redis 多机部署主要有 3 种方式:

1. 主从同步:主要存储数据的节点叫做主节点(master),其他通过复制主节点数据的副本节点叫做从节点(slave)。在 Redis 中一个主节点可以拥有多个从节点,一个从节点也可以是其他服务器的主节点。

2. 哨兵模式:哨兵模式 Redis Sentinel 是 Redis 的一种运行模式,它专注于对 Redis 实例(主,从)运行状态的监控,并能够在主节点发生故障时通过一系列的机制选举一个从节点作为新的主节点,以及主从切换,实现故障转移,确保整个 Redis 系统的可用性。

3. 集群模式:集群模式 Redis Cluster 是 Redis 3.0 版本推出的 Redis 集群方案,它将数据分布在不同的服务器上,以此来降低系统对单主节点的依赖,并可以大大提高 Redis 服务的读写性能。

2.主从、哨兵、集群模式有什么区别

2.1 主从同步

        主从同步是多机部署中最简单的方案,也是存在问题最多的一个方案。它的致命缺点就是当主节点挂了之后,它需要人工进行干预,人工进行修复。(如果半夜三点主节点挂了,那就得半夜打电话喊人去修复,例如主服务器 A,从服务器 B,C,如果 A 挂了,需要将 B 设为主服务器,同时让 C 去 B 服务器同步数据)

 2.2 哨兵模式

        哨兵模式就解决了主从同步的人为干预问题,它可以监控 Redis 实例运行状态,当主服务器挂了,它可以自动实现选择新的主节点以及主从切换,实现故障的自动转移和恢复(自动容灾恢复),确保整个 Redis 系统的可用性。

哨兵是如何工作的 ?如何选择新的主节点 ?

1.主节点失效检测:哨兵会周期性地向 Redis 实例发送命令(心跳包)来检测主节点的存活状态,如果主节点在指定时间内没有回复心检测(例如主节点已下线),哨兵将会认为当前主节点失效了。

2.选举新主节点:一旦哨兵检测到主节点失效后,它会进入新主节点的选举过程。哨兵集群中的哨兵会互相通信,通过多数投票方式决定新的主节点(需要多数哨兵投票才能进行选举)。

        选举过程中,如果出现票数相同的两个节点(优先级相同),则选择复制偏移量(从节点复制主节点的进度)较大的从节点作为新主节点,这样可以确保新主节点尽可能包含更多的数据。

2.3 集群模式

        无论是主从还是哨兵,它都只有一个主节点,所以它的性能扩展是有限的, 而集群模式可以实现多主节点的平行扩展,从而增加系统的一个吞吐量。并且集群模式也具备自动容灾,自动选主,主从切换的功能,所以集群模式才是 Redis 多机部署的最终形态。

Redis 集群是如何存储数据的 ?

        Redis 集群将数据分为固定数量的槽(slot),默认是 16384 个槽,每个主节点负责管理一部分槽,并负责处理与这些槽相关的键值对。

存储示例 >>

数据具体分配到哪个槽位,需要使用 CRC16 算法对要存储的 key 进行 hash 得到一个整数值,然后用这个整数值对 16384 进行取模来得到具体的槽位。 公式:slot = CRC16(key) % 16383

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/90593.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

限时 180 天,微软为 RHEL 9 和 Ubuntu 22.04 推出 SQL Server 2022 预览评估版

导读近日消息,微软公司今天发布新闻稿,宣布面向 Red Hat Enterprise Linux(RHEL)9 和 Ubuntu 22.04 两大发行版,以预览模式推出 SQL Server 2022 评估版。 近日消息,微软公司今天发布新闻稿,宣布…

网络安全(黑客)零基础自学

网络安全是什么? 网络安全,顾名思义,网络上的信息安全。 随着信息技术的飞速发展和网络边界的逐渐模糊,关键信息基础设施、重要数据和个人隐私都面临新的威胁和风险。 网络安全工程师要做的,就是保护网络上的信息安…

数字 IC 设计职位经典笔/面试题(三)

共100道经典笔试、面试题目(文末可全领) 1. IC 设计中同步复位与异步复位的区别? 同步复位在时钟沿变化时,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求…

开始MySQL之路——MySQL的DataGrip图形化界面

下载DataGrip 下载地址:Download DataGrip: Cross-Platform IDE for Databases & SQL 安装DataGrip 准备好一个文件夹,不要中文和空格 C:\Develop\DataGrip 激活DataGrip 激活码: VPQ9LWBJ0Z-eyJsaWNlbnNlSWQiOiJWUFE5TFdCSjBaIiwibGl…

用 Audacity 比较两段音频差异

工作中遇到相同的处理流程,处理同一段音频,看看处理结果是否一致,可以用audacity来处理。 假设待比较的音频分别为 1.wav 2.wav 1、用Audacity打开1.wav 2、用Audacity打开2.wav,选中音频,然后用 效果 -> 反向&am…

Linux内核学习(九)—— 虚拟文件系统(基于Linux 2.6内核)

虚拟文件系统(VFS)作为内核子系统,为用户空间程序提供了文件和文件系统相关的接口。通过虚拟文件系统,程序可以利用标准的 Unix 系统调用对不同的文件系统(甚至不同介质上的文件系统)进行读写操作。 一、通…

【算法系列篇】前缀和

文章目录 前言什么是前缀和算法1.【模板】前缀和1.1 题目要求1.2 做题思路1.3 Java代码实现 2. 【模板】二维前缀和2.1 题目要求2.2 做题思路2.3 Java代码实现 3. 寻找数组的中心下标3.1 题目要求3.2 做题思路3.3 Java代码实现 4. 除自身以外的数组的乘积4.1 题目要求4.2 做题思…

C++:构造方法(函数);拷贝(复制)构造函数:浅拷贝、深拷贝;析构函数。

1.构造方法(函数) 构造方法是一种特殊的成员方法,与其他成员方法不同: 构造方法的名字必须与类名相同; 无类型、可有参数、可重载 会自动生成,可自定义 一般形式:类名(形参); 例: Stu(int age); 当用户没自定义构造方法时&…

apache的ab工具测试网页优化效果速度以及服务器承载

今天为大家介绍一款apache自带的一种的测试网页优化效果速度以及服务器承载的工具——ab.exe。 大家在工作中或者开发中可以使用apache的ab工具来测试自己的网站并发量大小,和某个页面的访问时间。 一、基本用法 如果你是用的是apache的话,那么只要进…

基于swing的校园茶餐厅java jsp点餐订餐管理mysql源代码

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于swing的校园茶餐厅 系统有1权限 二、主要功能 …

sql server删除历史数据

1 函数 datediff函数: DATEDIFF ( datepart , startdate , enddate )datepart的取值可以是year,quarter,Month,dayofyear,Day,Week,Hour,minute,second,millisecond startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。 2 例子 删除2023年以…

最新PHP短网址生成系统/短链接生成系统/URL缩短器系统源码

全新PHP短网址系统URL缩短器平台,它使您可以轻松地缩短链接,根据受众群体的位置或平台来定位受众,并为缩短的链接提供分析见解。 系统使用了Laravel框架编写,前后台双语言使用,可以设置多域名,还可以开设套…

《Zookeeper》源码分析(二十二)之 客户端核心类

目录 CliCommand数据结构parse()exec() ZooKeeperHostProviderZKClientConfigClientCnxnSocket数据结构构造函数 ClientCnxn数据结构构造函数start() CliCommand 数据结构 CliCommand定义了两个抽象方法,以CreateCommand为例来看下它的parse()和exec()方法。 先看…

腾讯云V265/TXAV1直播场景下的编码优化和应用

// 编者按:随着视频直播不断向着超高清、低延时、高码率的方向发展, Apple Vision的出现又进一步拓展了对3D, 8K 120FPS的视频编码需求,视频的编码优化也变得越来越具有挑战性。LiveVideoStackCon 2023上海站邀请到腾讯云的姜骜杰老师分享腾…

docker 重装提示 Exising installation is up to date 解决方法

Windows Docker 重装提示 Exising installation is up to date 解决方法 出现这个问题是因为卸载Docker没有卸载干净,导致无法重装 解决方法: 按下WindowR唤起命令输入界面,输入 regedit 打开注册表编辑在地址栏输入HKEY_LOCAL_MACHINE\SOFTW…

【Hadoop】Hadoop入门概念简介

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的…

postmarketOS

nexus 5 nexu5 刷入最新固件、android系统 步骤0. 使用旧的 platform-tools_r27: mkdir ~/nexus5; cd ~/nexus5;#https://android.googlesource.com/platform/tools/google_prebuilts/studio/sdk/remote//a66136ae1bfeb1b08a42319158a7652938c648d3 #此页面有:dl.google.com…

浅谈泛在电力物联网发展形态与技术挑战

安科瑞 华楠 摘 要:泛在电力物联网是当前智能电网发展的一个方向。首先,总结了泛在电力物联网的主要作用和价值体现;其次,从智能电网各个环节概述了物联网技术在电力领域的已有研究和应用基础;进而,构思并…

最新绕过目标域名CDN进行信息收集技术

绕过目标域名CDN进行信息收集 1.CDN简介及工作流程 CDN(Content Delivery Network,内容分发网络)的目的是通过在现有的网络架构中增加一层新的Cache(缓存)层,将网站的内容发布到最接近用户的网…

【C++杂货铺】探索vector的底层实现

文章目录 一、STL1.1 什么是STL?1.2 STL的版本1.3 STL的六大组件 二、vector的介绍及使用2.1 vector的介绍2.2 vector的使用2.2.1 vector的定义2.2.2 vector iterator2.2.3 vector空间增长问题2.2.4 vector增删查改 2.3 vector\<char\> 可以替代 string 嘛&#xff1f; …
最新文章