redis的主从复制,哨兵模式

1.主从复制

主从复制:主从复制是redis实现高可用的基础,哨兵模式和集群都是在主从复制的基础之上实现高可用

主从复制实现数据的多机备份,以及读写分离(主服务器负责写,从服务器只能读)

缺陷:故障无法自动恢复,需要人工干预,写操作的负载均衡。

2.主从复制的工作原理

  slave向主发送一个syn command,请求和主节点建立连接

  主节点收到请求之后,他不管slave是第一次连接还是重新连接,主节点都会启动一个后台进程,执行BGSAVE,主节点会把所有修改数据记录的命令加载到缓存和数据文件之中

  数据文件创建完毕之后,master把数据文件传送给slave,slave会把这个数据文件,先保存到硬盘,然后再加载到内存

3.主从复制的实验

192.168.233.7 主

192.168.233.8 从1

192.168.233.9 从2

所有

systemctl stop firewalld

setenforce 0

vim /etc/redis/6379.conf

70行

137行

700gg

/etc/init.d/redis_6379 restart

从1 从2

vim /etc/redis/6379.conf

70gg

288gg

701gg

/etc/init.d/redis_6379 restart

tail -f /var/log/redis_6379.log

测试

主,从

redis-cli

主:

keys *

set test1

从1,2:

keys *

get test1

从:

set test2 2

主:

redis-cli info replication

从1:

/etc/init.d/redis_6379 stop

redis-cli info replication

4.哨兵模式

哨兵模式:先有主从再有哨兵。在主从复制的基础之上,实现主节点故障的自动切换

4.1 哨兵模式的原理

哨兵:是一个分布式系统,用于在主从结构之间,对每台redis的服务器进行监控。

主节点出现故障时,从节点通过投票的方式选择一个新的master

哨兵模式也需要至少三个节点

工作流程:

每个哨兵节点每隔一秒,通过ping命令方式,检测主从之间的心跳线。主节点在一定时间内没有回复或者回复了错误的消息,这个时候,哨兵就会把主观的任务主节点下线了,超过半数的哨兵节点认为主节点下线了,这个时候才会认为主节点是客观下线。

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

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

相关文章

让SOME/IP运转起来——SOME/IP系统设计(下)之数据库开发

上一篇我们介绍了SOME/IP矩阵的设计流程,这一篇重点介绍如何把SOME/IP矩阵顺利的交给下游软件团队进行开发。 车载以太网通信矩阵开发完成后,下一步应该做什么? 当我们完成SOME/IP矩阵开发,下一步需要把开发完成的矩阵换成固定格…

10.docker的网络network-概述

1.docker的网络模式 docker共有四种网路模式,分别是bridge、host、none和container. 1.1 bridge bridge,也称为虚拟网桥。在bridge模式下,为每个容器分配、配置IP等,并将容器连接到一个docker0。使用–network bridge命令指定,…

【每日OJ —— 622. 设计循环队列】

每日OJ —— 622. 设计循环队列 1.题目:622. 设计循环队列2.解法2.1.解法讲解2.1.1.算法讲解2.1.2.代码实现2.1.3.提交通过展示 1.题目:622. 设计循环队列 2.解法 1.本题有很多解法:可以使用数组,单链表,双链表&#x…

控制论与科学方法论

《控制论与科学方法论》,真心推荐。 书籍原文电子版PDF:https://pan.quark.cn/s/aa40d59295df(分类在学习目录下) 备用链接:https://pan.xunlei.com/s/VNgj2vjW-Hf_543R2K8kbaifA1?pwd2sap# 控制论是一种让系统按照我…

【精选】CSS入门必看知识点大合集

CSS简介 CSS概念 CSS(Cascading Style Sheets)层叠样式表,又叫级联样式表,简称样式表 CSS文件后缀名为.css CSS用于HTML文档中元素样式的定义 为什么需要CSS 使用css的唯一目的就是让网页具有美观一致的页面 语法 CSS 规则…

每日一题(LeetCode)----链表--分隔链表

每日一题(LeetCode)----链表–分隔链表 1.题目(86. 分隔链表) 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初…

Vue3使用dataV报错问题解决

DataV官网:https://datav-vue3.jiaminghi.com/guide/ vue2中是没有问题的,这是第一次在vue3中使用发现的报错问题 报错问题 首先安装: pnpm add dataview/datav-vue3 1. 全局注册报错 然后main.ts全局注册 import { createApp } f…

Redis-Day1基础篇(初识Redis, Redis常见命令, Redis的Java客户端)

Redis-Day1基础篇 初识Redis认识NoSQL认识Redis安装Redis启动RedisRedis客户端 Redis命令数据结构介绍通用命令操作命令StringHashListSetSortedSet Redis的Java客户端客户端对比Jedis客户端Jedis快速入门Jedis连接池 SpringDataRedis客户端SpringDataRedis概述SpringDataRedis…

浅谈WPF之各种Template

前几天写了一篇文章【浅谈WPF之控件模板和数据模板】,有粉丝反馈说这两种模板容易弄混,不知道什么时候该用控件模块,什么时候该用数据模板,以及template和itemtemplate之间的关系等,今天专门写一篇文章,简述…

推荐一款适合做智慧旅游的前端模板

目录 前言 一、功能介绍 二、前端技术介绍 三、功能及界面设计介绍 1、数据概览 2、车辆监控 3、地图界面 4、其它功能 四、扩展说明 总结 前言 智慧旅游是一种全新的旅游业务模式,它充分利用先进的信息技术,提升旅游体验,优化旅游管…

【HarmonyOS】元服务卡片本地启动拉起加桌没问题,上架后拉起加桌时卡片展示异常

【关键字】 加桌选卡展示异常 、 2卡共用一个布局 、 代码混淆 【问题现象】 元服务卡片在本地启动拉起加桌时,多卡的选卡过程显示是没问题的。但是在上架后拉起加桌时,多卡的选卡过程卡片展示异常。 代码逻辑是通过创建卡片的时候判断卡片的尺寸大小…

设计模式-16-Spring源码中的设计模式

1-Spring之观察者模式 Java、Google Guava都提供了观察者模式的实现框架。Java提供的框架比较简单,只包含java.util.Observable和java.util.Observer两个类。Google Guava提供的框架功能比较完善和强大:通过EventBus事件总线来实现观察者模式。实际上&am…

对比两个数组中对应位置的两个元素将每次对比的最大值用于构成新的数组np.maximum()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 对比两个数组中对应位置的两个元素 将每次对比的最大值用于构成新的数组 np.maximum() 选择题 以下代码的输出结果为? import numpy as np a1 [1,2,33] a2 [11,2,3] print("…

查看当前laravel版本三种方法(笔记二)

1、在终端中使用 Artisan 命令:在 Laravel 项目的根目录下,打开终端(命令行界面),然后运行以下命令: php artisan --version 2、控制器中打印版本 var_dump(app()->version()); 3、在 Laravel 项目的根目…

【如何学习Python自动化测试】—— 多层窗口定位

6 、 多层窗口定位 多层窗口指的是在操作系统图形界面中,一个窗口被另一个窗口覆盖的情况。在多层窗口中,如何定位需要操作的窗口? 一种常见的方法是使用操作系统提供的AltTab快捷键,可以在打开的所有窗口中快速切换焦点。如果需要…

MacOS 成为恶意软件活动的目标

Malwarebytes 警告称,一个针对 Mac 操作系统 (OS) 的数据窃取程序正在通过虚假的网络浏览器更新分发给毫无戒心的目标。 Atomic Stealer,也称为 AMOS,是 Mac OS 上流行的窃取程序。 Atomic Stealer (AMOS) 恶意软件最近被发现使用“ClearFa…

Rust错误处理:Result

文章目录 简介错误匹配 Rust基础教程: 初步⚙ 所有权⚙ 结构体和枚举类⚙ 函数进阶⚙ 泛型和特征⚙ 并发和线程通信⚙ cargo包管理⚙ 可空类型Option Rust进阶教程: 用宏实现参数可变的函数⚙ 类函数宏 简介 Rust中没有提供类似try…catch之类…

封装一个基于ThreeJS渲染基础模型的类,非常简单,可拖动可缩放

工作需求要求threeJS渲染一个模型以供可视化大屏展示,抛出模型精度不谈,只说业务实现 1.Three.JS的引入 ThreeJS官网地址:Three.js – JavaScript 3D Library 查看文档 中文切换及安装创建步骤 如果是自己研究学习用的,在官网安装完后&…

JVM垃圾回收相关算法

目录 一、前言 二、标记阶段:引用计数算法 三、标记阶段:可达性分析算法 (一)基本思路 (二)GC Roots对象 四、对象的finalization机制 五、MAT与JProfiler的GC Roots溯源 六、清除阶段:…