redis之cluster集群

1、redis-cluster集群:redis3.0引入的分布式存储方案

2、集群:由多个node节点组成,redis数据分布在这些节点之中

(1)在集群之中也分主节点和从节点
(2)自带哨兵模式

3、redis-cluster集群的数据流向

1集群模式中,主从一一对应,数据写入和读取与主从复制一样,主负责写,从只能读
2集群模式自带哨兵模式,可以自动实现故障切换,但是在故障切换完成之前,整个集群都将不可用,切换完毕之后,集群会立刻恢复

4、集群模式按照数据分片

(1)数据分片:集群的核心功能,每个主都可以对外提供读、写的功能,但是数据是一一对应写入主的对应从节点。在集群模式中,可以容忍数据的不完整
(2)高可用:集群的主要目的

5、数据分片的实现过程

(1)redis的集群引入了hash槽的概念,在redis集群当中有16384个hash槽位(0-16383)
(2)根据集群当中的主从节点数,分配hash槽位,每个主从节点只负责一部分的hash槽位
(3)每次读写都涉及到hash槽位,key通过CRC16校验之后,对16384取余数,余数值决定数据放入哪个hash槽位,通过这个值找到对应槽位所在的节点,然后直接跳转到这个节点
(4)hash槽位的值是连续的,如果出现不连续的hash值,或者有hash槽位没有被分配,集群将会报错
(5)主从复制:主宕机之后,主节点原来负责的hash槽位将会不可用,需要从节点代替主节点继续负责原有的hash槽位,保证集群的正常工作,所有故障切换的过程中,会提示集群不可用,切换完成,集群继续工作

6、实验过程

1修改配置文件

(2)创建集群
redis-cli -h 20.0.0.41 --cluster create 20.0.0.41:6379 20.0.0.42:6379 20.0.0.43:6379 20.0.0.44:6379 20.0.0.45:6379 20.0.0.46:6379 --cluster-replicas 1
replicas 1:规定一个主只有一个从(主从的配合是随机分配的)
在集群模式当中,只能选择0库,集群不能切换库,只能使用默认库

查看集群中的所有节点:cluster nodes

error表示:客户端尝试读取键值对test1,但是实际槽位在4768,集群要求客户端移动到4768所在的主机节点获取数据

添加键(创建键值对时,hash槽位已经分配好了):

3模拟故障

(4)恢复故障

实时监控redis工作过程的日志:monitor

7、集群的流程

(1)集群自带主从和哨兵
(2)每个主节点之间互相隔离,可以容忍数据的不完整,目的是高可用
(3)以hash槽位决定每个节点的读写操作,在创建key时,系统已经分配好了指定槽位
(4)出现moved不是报错,只是提醒客户端去分配的槽位节点获取数据

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Tiny_CD】Tiny_CD变化检测网络详解(含python代码)

题目:TinyCD: A (Not So) Deep Learning Model For Change Detection 论文:paper 代码:code 目录 🍟 🍟1.摘要 🍗🍗 2.贡献 🍖🍖 3.网络结构

【文末送书】机器学习高级实践

2023年初是人工智能爆发的里程碑式的重要阶段,以OpenAI研发的GPT为代表的大模型大行其道,NLP领域的ChatGPT模型火爆一时,引发了全民热议。而最新更新的GPT-4更是实现了大型多模态模型的飞跃式提升,它能够同时接受图像和文本的输入…

探究Kafka原理-3.生产者消费者API原理解析

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理🔥如果感觉博主的文章还不错的话,请&#x1f44…

【模拟开关CH440R】2022-1-20

资料模拟开关CH440芯片手册 - 百度文库 ch440R回来了,导通usb设备没问题,降压不影响。但是我发现个严重的问题,我的电路是直接通过4067控制ch440r接地,低电平,使能三个线路连一起的,邮箱的图您看看&#xf…

Linux:Ubuntu实现远程登陆

1、查看sshd服务是否存在 Ubuntu默认是没有安装sshd服务的,所以,无法远程登陆。 检查22端口是否存在 netstat -anp 该命令执行后,查看不到22端口的进程。 如果netstat无法使用,我们需要安装一下netstat服务 sudo apt-get install…

拦截器详解

一、概述 什么是拦截器? 是一种动态拦截方法调用的机制,类似于过滤器。Spring框架中提供的,用来动态拦截控制方法的执行。 到底是干啥用的? 拦截请求用的,在指定的方法调用前后,执行在拦截器中编写的程序 …

手机APP-MCP走蓝牙无线遥控智能安全帽~执法记录仪~拍照录像,并可做基础的配置,例如修改服务器IP以及配置WiFi等

手机APP-MCP走蓝牙无线遥控智能安全帽~执法记录仪~拍照录像,并可做基础的配置,例如修改服务器IP以及配置WiFi等 手机APP-MCP走蓝牙无线遥控智能安全帽~执法记录仪~拍照录像,并可做基础的配置,例如修改服务器IP以及配置WiFi等, AIoT万物智联,智能安全帽…

甲烷产生及氧化

温室气体排放被认为是加速气候变化的重要因素,甲烷(CH4)是仅次于二氧化碳(CO2)的重要温室气体,其百年温室效应潜势是CO2的28倍[1-2]。湿地中的CH4由产甲烷古菌在水体底部或沉积层严格厌氧环境下产生并释放进入水体,产生的CH4向上覆水运输过程…

【用unity实现100个游戏之16】Unity程序化生成随机2D地牢游戏1(附项目源码)

文章目录 先看看最终效果前言随机游走算法使用随机游走算法添加地板瓦片1. 新增TilemapVisualizer,用于可视化地图2. 瓦片素材 不运行执行程序化生成地牢方法1. 先简单重构代码2. 新增Editor脚本RandomDungeonGeneratorEditor 将参数保存到可编辑脚本对象&#xff0…

1、postman的安装及使用

一、安装、登录 1.安装 下载地址 2.注册登录(保存云服务进度) 二、界面介绍 三、执行接口测试页面 请求页签: 1、params:当是get请求时,通过params传参 2、authorization:鉴权 3、headers&#xff1…

区块链技术与应用 【全国职业院校技能大赛国赛题目解析】第四套区块链应用后端开发

第四套区块链应用后端开发 环境 : ubuntu20 fisco : 2.8.0 springboot 2.1.1 fisco-java-sdk: 2.7.2 maven 3.8.8 前言 这套后端样题,只涉及调用fisco的系统接口,不涉及此食品溯源项目的业务接口,所以我就直接生成一个springboot项目进行完成此题目。 请提前准备好一…

Web自动化测试:测试用例断言!

运行测试用例时,需要判断用例是否执行成功,此时需要有一个我们期望的结果来进行验证。这里unittest中,如果一个case执行的过程中报错,或者我们判断结果不符合期望,就会判定此条用例执行失败,判断的条件主要…