Redis集群方案-主从复制-哨兵模式-分片集群

news2024/12/24 0:01:32

Redis集群方案

  • 主从复制
    • 全量同步
    • 增量同步(slave重启或者后期数据变化)
  • 哨兵模式
    • 服务状态监控
    • 哨兵选主规则
  • 分片集群
    • 哈希槽

在这里插入图片描述

主从复制

单节点的Redis的并发能力是有上线的,要进一步提高redis的并发能力,就需要搭建主从集群,实现读写分离,下面我们来看一张图
在这里插入图片描述
下面我们再来聊聊主从数据的同步的流程

全量同步

在这里插入图片描述

全量同步:首先slave节点发起数据同步的请求,然后master先去检测这个slave是不是第一次进行数据同步,如果是则进行全量同步,master执行bgsave生成RDB快照文件,然后将快照文件发给slave,slave加载快照文件,如果master在发送快照文件的同时又有命令在执行的话就会生成一个 baklog文件,同时会将这个log文件发送给slave,这样就是进行全量同步的全部流程了,还有一个地方要特别记录一下,就是master是如何判断slave是否是第一次同步呢? 这里还需要再介绍个东西replid,在同步之前,只需要去判断一下这个replid是否和master一致就行,如果不一致的话说明就是第一次同步,此时将进行全量同步,当然在同步之后也会将slave的replid与master同步
在这里插入图片描述

增量同步(slave重启或者后期数据变化)

增量同步:这个同步流程的前面步骤和全量同步是类似的,首先slave发起同步的请求,判断replid是否和master节点的replid一致,如果一致则进行增量同步,然后主节点还会去获取一下从节点的offset值,举一个例子:如果从节点的offset为30,而主节点的offset值为60,那么此时主节点就只需要将30-60之间的数据发送给从节点进行同步即可

哨兵模式

哨兵的作用和结构如下:
监控:sentinel会不断检查master和slave是否按照预期工作
自动故障恢复:如果master故障,sentinel会将一个slave提升为master。当故障实例恢复后也以新的master为主
通知:sentinel充当redis客户端的服务发现来源,当集群发送故障转移时,会将最新信息推送给redis客户端

服务状态监控

Sentinel基于心跳检测服务状态,每隔一秒向集群的每个实例发送ping命令:
如果某一个Sentinel节点发现某实例未在规定时间响应,则认为该实例是主观下线
若超过指定数量的Sentinel都认为该实例主观下线,则该实例客观下线
在这里插入图片描述

哨兵选主规则

首先判断主与从节点断开时间长短,如超过指定值就排除该从节点(比如某一个slave与master断开了特别长的时间,那么我们就可以排除掉这个slave)
然后判断从节点的slave-priority值,越小优先级越高
如果果slave-prority一样,则判断slave节点的offset值,越大优先级越高
最后是判断slave节点的运行id大小,越小优先级越高。

分片集群

先介绍一下分片集群的结构:
在这里插入图片描述
分片集群的特点:
集群中有多个master每个master保存不同的数据
每个master都可以有多个slave节点
master之间通过ping监测彼此健康状态
客户端请求可以访问集群任意节点,最终都会被转发到正确的节点

哈希槽

前面我们说到,分片集群有一个特点,客户端的请求可以访问集群任意节点,并且最终都会被转发到正确的节点,这个特点其实就是通过哈希槽来实现的,下面我们来介绍一下有关哈希槽的一些东西

Redis集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置到哪个槽,集群中的每个节点负责一部分哈希槽
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一节:vue3 配置路由

1.安装router插件npm install vue-router4或者yarn add vue-router4 2.新建router文件夹以及router里边的index.js:里边主要配置路由 import {createRouter,createWebHashHistory} from vue-router // 1.新的页面导入进来 import Home from ../view/Home.vue impor…

使用华为eNSP组网试验⑹-组建基于BGP的网络

BGP(Border Gateway Protocol -- 边界网关协议)是一种在自治系统之间动态交换路由信息、具有丰富的路由控制机制、稳定而安全的路由协议路由协议,一般部署在骨干(主要、核心)路由器。 BGP适用于大中型网络的组建,在很多企业当中都有应用。 一般情况下&am…

2023年化妆品级珠光材料随化妆品需求增加推动产品需求量[图]

珠光材料是通过特定工艺方法,在天然云母或人工合成等基材表面包覆一层或多层金属氧化物而制得的一种材料。在化妆品领域,珠光颜料常用于口红、眼影、指甲油、粉饼等化妆品的制造,以产品的闪亮度和吸引力,使其更加美观。 化妆品级…

java CPU 或者内存 异常排查

java CPU 或者内存 异常排查 提示:需要基础环境和配置上java-home CPU 或者内存 异常排查 java CPU 或者内存 异常排查前言一、java文件上传(Test.java)二、转换为class三、执行命令,启动文件四、使用top命令查看五、下载文件&…

【MATLAB源码-第44期】基于matlab的2*2MIMO-LDPC系统的误码率仿真。

操作环境: MATLAB 2022a 1、算法描述 2x2 MIMO(多输入多输出)和LDPC(低密度奇偶校验码)编码是在通信系统中常用的技术,它们通常用于提高无线通信系统的性能和可靠性。 1. 2x2 MIMO: 2x2 MIMO…

Micriosoft 365 和 Office 之间的对比

Micriosoft 365 以前也叫做 Office 365,2020 年微软官方将它改名为了 Microsoft 365。

MySQL Cluster 简介

文章目录 1.简介2.组成参考文献 1.简介 MySQL Cluster 是官方推出的基于 NDB(Network DataBase)存储引擎的高可用和可伸缩的分布式数据库系统。 以下是 MySQL NDB Cluster 的主要特点和能力: 高可用:MySQL Cluster 具有内置的高…

截胡高通,三星Exynos 2400率先登场:旗舰芯片定位。

今年 2 月,三星在全球发布了 GalaxyS23 系列,不同于过去的双处理器策略,Galaxy S23 系列全线搭载了采用台积电4nm 生产的高通骁龙 8 Gen 2,三星自家的 Exynos 2300 则直接轮空——被弃之不用。 但我们在之后的文章中就指出&#x…

物联网AI MicroPython传感器学习 之 WS2812 RGB点阵灯环

学物联网,来万物简单IoT物联网!! 一、产品简介 ws2812是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路&a…

基于vue框架的uniapp小程序开发发现了新大陆

项目场景: 在基于vue框架的uniapp小程序开发中,在页面跳转时,当前页路径带参数,在跳转页中接受数据除了用官方推荐的保留当前页面,跳转到应用内的某个页面,使用onLoad(option)接受数据,但是我发…

【动手学深度学习】课程笔记 04 数据操作和数据预处理

目录 数据操作 N维数组样例 访问元素 数据操作实现 入门 运算符 广播机制 节省内存 转换为其他Python对象 数据预处理实现 数据操作 N维数组是机器学习和神经网路的主要数据结构。 N维数组样例 访问元素 数据操作实现 下面介绍一下本课程中需要用到的PyTorch相关操…

【jvm--堆】

文章目录 1. 堆(Heap)的核心概述2. 图解对象分配过程2.1 Minor GC,MajorGC、Full GC 1. 堆(Heap)的核心概述 堆针对一个 JVM 进程来说是唯一的,也就是一个进程只有一个 JVM,但是进程包含多个线程…

Leetcode hot 100之回溯O(N!):选择/DFS

目录 框架:排列/组合/子集 元素无重不可复选 全排列 子集 组合:[1, n] 中的 k 个数 分割成回文串 元素无重不可复选:排序,多条值相同的只遍历第一条 子集/组合 先进行排序,让相同的元素靠在一起,如…

玩重生奇迹MU如何搭配武器装备

在游戏里面怎么搭配装备呢,玩家是否在思考这个问题呢,肯定要不断的了解所玩的职业,必须要懂得掌握不一样的装备搭配方法,这样才可以更好的发挥所玩职业最强大的伤害输出。 一、武器装备搭配技巧 在游戏中需要懂得搭配装备的技巧…

2023年中国互联网本地生活服务行业发展历程及趋势分析:国内市场仍有增长潜力[图]

我国本地生活进入4.0时代,“附近消费”场景迭代、渠道多元;更多玩家涌入本地生活赛道,本地消费场景分散到多平台、多模式,线下门店短视频直播运营组合蔚然成风。 本地生活行业发展历程 资料来源:共研产业咨询&#xf…

阿里云轻量应用服务器月流量限制说明(部分套餐不限流量)

阿里云轻量应用服务器部分套餐限制月流量,轻量应用服务器按照套餐售卖,有的套餐限制月流量,有的不限制流量。像阿里云轻量2核2G3M带宽轻量服务器一年108元和轻量2核4G4M带宽一年297.98元12个月,这两款是不限制月流量的。阿里云百科…

前端TypeScript学习day02-TS常用类型

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 TypeScript 常用类型 接口 元组 类型推论 类型断言 字面量类型 枚举 any 类型 typeof TypeScrip…

yolov5及yolov7实战之剪枝

之前有讲过一次yolov5的剪枝:yolov5实战之模型剪枝_yolov5模型剪枝-CSDN博客 当时基于的是比较老的yolov5版本,剪枝对整个训练代码的改动也比较多。最近发现一个比较好用的剪枝库,可以在不怎么改动原有训练代码的情况下,实现剪枝的…

c#学生管理系统

一、系统概述 学生管理系统是一个旨在帮助学校、教育机构和教育者有效管理学生信息、课程安排和成绩记录的应用程序。该系统旨在简化学生管理的各个方面,提供高效的解决方案,以满足教育机构的需求。 二、功能模块 1. 学生信息管理 添加学生:录入学生…

HashMapConcurrentHashMap

文章目录 1、HashMap基础类属性node容量负载因子hash算法 2、数组链表/树为什么引入链表为什么jdk1.8会引入红黑树为什么一开始不就使用红黑树?HashMap的底层数组取值的时候,为什么不用取模,而是&数组的长度为什么是2的次幂如果指定数组的…