Lnmp架构之Redis服务

news2024/12/22 22:50:49

1、redis部署

停掉mysql服务

如果在纯净的环境下,make的时候需要安装gcc和make

redis服务常用命令

2、redis主从同步

复制文件发送到接收主机server2,server3

server2,server3接收到文件后,和11master端一样的配置方法

3、redis主从复制

设置11为master,12,13为slave

在12上

其他slave节点以此类推

此时在master端11上

slave角色只能读,并没有修改的权限

在master端

在slave端会同步内容

4、Redis高可用

redis主从切换

redis 主从原理:基于rdb 快照实现。

在执行主从的时候,slave和master要先做一个认证,发起一个同步请求,master会执行一个bgsave(异步模式)/save(阻塞模式),异步模式的时候,bgsave会做一个rdb快照,然后把rdb快照发给slave,slave会做一个动作,清掉slave端所有的数据(flushall),然后slave会再次加载快照;

快照做完之后,还会有变更数据,所以放在缓存里面,然后接下来会用replicationfeedslave()增量函数 一条一条发给slave,然后再给slave端做同步,因此,redis主从是基于rdb快照格式出现的。

redis和mysql的二进制日志的差别是其数据类型不同。

redis主从基于rdb快照格式实现

一主多从的架构中,redis里自带高可用切换

2表示必须要两个节点说master出故障了才能发起故障切换;

当第一个节点发现master出现故障会进入一种主观下线状态,当第二个节点发现master出现故障 会再次进入一种主观下线状态;

两次的主观下线会触发一次客观下线,这个时候master会开始真正进行主从切换,三个节点就设置为2,两个节点就设置为1

拷贝修改后的文件到其他节点

注:必须在启动前拷贝过去,启动后文件会发生改变,拷贝过去会报错

其他主机直接启动服务,无需更改配置文件(哨兵模式)

此时,再开启一个终端11并关闭master

当master出问题时,redis集群会自动切换master

当原来的master再次启动后,会以slave的身份加入集群

在切换的时候可能会出现的问题:

客户端到master没什么问题,master 到slave端的网络如果出现故障,这个时候集群就会以为master出现问题,把master踢出去,选举出新的master;

当网络又恢复正常,原来的master会同步当前集群的配置,把自己变成slave,接入到新的master;

然而客户端到master是好的,这个时候,客户端会持续往master里写入数据,这些写入的数据就会因此而丢失。

解决方法:

必需保证后端有两个slave可以写;

添加 min-slave-to-write=2 到配置文件,保证在主从切换的时候 客户端不要给master里面写 ,如果master发现都连不上两个slave 就不要往里面写入数据了,避免数据丢失。

5、Redis集群

无中心化设计:每个节点都可以接入集群,不管是主从都可以进行读写,在接入集群之后都可以做调度,做重定向。但是,它的整合度太高,二次开发成本太高。

自动生成集群脚本(会在当前的目录里生成对应的配置文件和数据)

启动自动生成脚本

查看帮助命令(redis-cli --help)

获取集群状态

获取集群详细信息

redis-cli --cluster作用:将16384个存储数据的哈希槽均摊到三个master上进行存储,每个节点都会分配到一定的哈希槽。

连接集群

关闭redis,集群中对应的master和slave就会自动切换

down掉30002

此时,数据保存在30005上不会丢失

再次启动脚本,被down掉的30002会重新恢复,并且恢复后会成为slave

导致集群不可用的情况:

(1)16384个哈希槽不完整时,集群不可用

(2)同一个集群的半数master同时挂掉时,集群不可用

再添加两个redis实例

在线添加集群节点

添加master节点

新的master节点没有hash槽

添加slave节点

给新增的master节点迁移hash槽

新增节点完成

注:在删除某个master节点时,要先将该节点上的哈希槽迁移到别的maser节点,否则会导致哈希槽不完整,从而导致集群不可用。

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

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

相关文章

网络机顶盒哪个牌子好?经销商盘点线下畅销网络电视机顶盒排名

网络机顶盒是生活必备小家电,我店内经营网络机顶盒已经很多年了,对这个行业有着深入研究,近来看到网友们在讨论网络机顶盒哪个牌子好,我根据店内销量情况,整理了实体店铺热销网络电视机顶盒排名,感兴趣的朋…

循环神经网络——中篇【深度学习】【PyTorch】【d2l】

文章目录 6、循环神经网络6.4、循环神经网络(RNN)6.4.1、理论部分6.4.2、代码实现 6.5、长短期记忆网络(LSTM)6.5.1、理论部分6.5.2、代码实现 6.6、门控循环单元(GRU)6.6.1、理论部分6.6.2、代码实现 6、循…

实现电商跨平台订单每日自动对账

场景描述: 多数商家都存在多电商平台同时经营的情况,而进行订单对账则是相关业务或财务人员的每日必修课。比如商家在天猫,苏宁,1号店,京东等均有运营店铺,每天需要通过各电商后台系统抓单打单&#xff0c…

Android 小组件 AppWidgetProvider

一、相关文档 二、小组件是什么? 三、AppWidget 核心类 AppWidgetProvider 源码解读和原理分析 1、先看 AppWidgetProvider 源码 2、AppWidgetProvider 回调方法分析 onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appW…

索引与切片

索引 生成一个CNN的输入格式张量 a torch.rand(4, 3, 28, 28) (batch, channel,high, width)单个索引的方式与python一样 a[0] # 去索引为0的图片即第一张图片 a[0].shape多个索引与python稍微不一样,但很相似 python:a[0][0…

PMP证书在国内已经泛滥了,还有含金量吗?

没有泛滥吧?这个证书现在就是趋向于项目管理人士要去考的呀,也不是考了没用,提升自身个人的能力、找工作方面和晋升加薪方面确实有用呀,不然报名费那么贵,为什么越来越多人考呢? 1、提升自身个人的能力 首…

云原生技术盛会KubeCon即将召开!亚马逊云科技作为钻石赞助商参会

KubeCon2023将于9月26-28日在上海跨国采购会展中心隆重召开。作为云原生领域最负盛名的技术大会之一,KubeConCloudNativeCon是连接全球开发者与云原生社区的最佳平台,此次还新增Open Source Summit环节,吸引了全球顶尖的云原生专家们汇聚其中…

利用C++开发一个迷你的英文单词录入和测试小程序-增强功能

小玩具基本完成之后,在日常工作中,记录一些单词,然后定时再复习下,还真的有那么一点点用(毕竟自己做的小玩具)。 在使用过程中,遇到不认识的单词,总去翻译软件翻译,然后…

结合Mockjs与Bus事件总线搭建首页导航和左侧菜单

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《ELement》。🎯🎯 &#x1…

可在电脑桌面显示每日工作计划表的工具用哪个?

当你坐在电脑前,繁忙的工作日开始了。屏幕前的任务排成一列,待处理的事情如潮水般涌来。这时,你需要一款强大的工具来帮助你合理安排时间,确保没有一个任务被忘记。 在这个数字时代,有一款工具可以在你的电脑桌面上显…

关于建筑八大员(住建厅七大员)考试难不难?合格技巧

关于建筑八大员(住建厅七大员)考试难不难?合格技巧 建筑八大员分为施工员、质量员、资料员、材料员、机械员、劳务员、标准员等7种大类。电脑考核,系统好几万题目,随机抽取一套匹配给你,每个人考试题目都不…

数组01-二分查找算法

目录 数组如何实现随机访问 两个关键词 数组的特点 根据下标随机访问数组元素 为什么数组要从0开始编号,而不是从1开始 LeetCode之路——704. 二分查找 Code 二分查找算法 数组如何实现随机访问 数组(Array)是一种线性表数据结构。它…

【从0学习Solidity】51. ERC4626 代币化金库标准

【从0学习Solidity】51. ERC4626 代币化金库标准 博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页&#…

https跳过SSL认证时是不是就是不加密的,相当于http?

https跳过SSL认证时是不是就是不加密的,相当于http?,其实不是,HTTPS跳过SSL认证并不相当于HTTP,也不意味着没有加密。请注意以下几点: HTTPS(Hypertext Transfer Protocol Secure)本质上是在HTTP的基础上…

在docker中删除none镜像

在构建过Docker镜像的电脑上查看本地镜像列表,有可能看到下图红框中的镜像,在列表中展示为:: 这种镜像在Docker官方文档中被称作dangling images,指的是没有标签并且没有被容器使用的镜像。 官方解释 来自官方的解释如下图红框所…

【多线程初阶】多线程案例之阻塞式队列

文章目录 前言1. 什么是阻塞队列2. 生产者消费者模型2.1 生产者消费者模型的优势2.1.1 解耦合2.1.2 削峰填谷 3. Java 标准库中的阻塞队列3.1 生产者消费者模型 4. 自己实现一个阻塞队列总结 前言 本文主要给大家讲解多线程的一个重要案例 — 阻塞式队列. 关注收藏, 开始学习…

如何在Windows11上使用macOS Sonoma全新的慢镜屏幕保护程序

前言 macOS Sonoma是Apple macOS一个大版本的描述,以任何方式使用macOS Sonoma都应确保符合Apple的规定 本文假定你在搭载Intel处理器的Apple产品上通过bootcamp安装了Windows11,且想要让Windows11产生类似于macOS Sonoma全新的慢镜屏幕保护程序的相关…

java面试题-jvm基础知识

1 JVM组成 1.1 JVM由那些部分组成,运行流程是什么? 难易程度:☆☆☆ 出现频率:☆☆☆☆ JVM是什么 Java Virtual Machine Java程序的运行环境(java二进制字节码的运行环境) 好处: 一次编写&a…

【记录文】Android自定义Dialog实现圆角对话框

圆角的dialog还是蛮常用的,demo中正好用上了 自定义Dialog,代码中可以设置指定大小与位置 /*** author : jiangxue* date : 2023/9/25 13:21* description :圆角的矩形*/internal class RoundCornerView(context: Context,view: Int, StyleRes theme…

智能网联驾驶测试与评价工业和信息化部重点实验室“车载智能计算基础平台参考架构2.0专家研讨会”圆满结束

近日,智能网联驾驶测试与评价工业和信息化部重点实验室在北京市召开“车载智能计算基础平台参考架构2.0专家研讨会”,本次会议由智能网联驾驶测试与评价工业和信息化部重点实验室、中国软件评测中心(工业和信息化部软件与集成电路促进中心&am…