信誉好的品牌网站建设易代理ip官网

web/2025/10/7 23:53:59/文章来源:
信誉好的品牌网站建设,易代理ip官网,海会网络建设网站,wordpress取消手机侧边栏浮动文章目录 前言一、主从复制1.概述2.作用3.模拟实践搭建场景模拟实践 二、哨兵模式1.概述2.配置使用3.优缺点4.sentinel.conf完整配置 总结 前言 从主从复制到哨兵模式。 一、主从复制 1.概述 主从复制#xff0c;是指将一台 Redis 服务器的数据#xff0c;复制到其他的 Red… 文章目录 前言一、主从复制1.概述2.作用3.模拟实践搭建场景模拟实践 二、哨兵模式1.概述2.配置使用3.优缺点4.sentinel.conf完整配置 总结 前言 从主从复制到哨兵模式。 一、主从复制 1.概述 主从复制是指将一台 Redis 服务器的数据复制到其他的 Redis 服务器。 前者称为主节点master / leader后者称为从节点slave/follower。数据的复制是单向的只能由主节点到从节点。Master 以写为主Slave 以读为主。一个主节点可以有多个从节点或没有从节点但一个从节点只能有一个主节点。默认情况下每台 Redis 服务器都是主节点。 2.作用 数据冗余 主从复制实现了数据的热备份是持久化之外的一种数据冗余方式。 故障恢复 当主节点出现问题时可以由从节点提供服务实现快速的故障恢复。这也是一种服务的冗余。 负载均衡 在主从复制的基础上配合读写分离可以由主节点提供写服务由从节点提供读服务分担服务器负载。 尤其是在写少读多的场景下通过多个从节点分担读负载可以大大提高 Redis 服务器的并发量。 高可用 主从复制是哨兵和集群能够实施的基础因此说主从复制是 Redis 高可用的基础。 一般来说要将 Redis 运用于工程项目中只使用一台 Redis 是万万不能的原因如下 结构上单个 Redis 服务器会发生单点故障并且一台服务器需要处理所有的请求负载压力较大。容量上单个 Redis 服务器内存容量有限一般来说单台 Redis 最大使用内存不应该超过 20G。 应用 电商网站上的商品一般都是一次上传无数次浏览的说专业点也就是多读少写。 对于这种场景我们可以使用如下这种架构 3.模拟实践 搭建场景 进入redis.conf所在文件夹复制三个redis.conf文件 cp redis.conf redis6379.conf cp redis.conf redis6380.conf cp redis.conf redis6381.conf修改复制的文件 修改 redis6379.conf内的以下属性 daemonize yes pidfile /var/run/redis_6379.pid logfile 6379.log dbfilename dump6379.rdb修改 redis6380.conf内的以下属性 daemonize yes port 6380 pidfile /var/run/redis_6380.pid logfile 6380.log dbfilename dump6380.rdb修改 redis6381.conf内的以下属性 daemonize yes port 6381 pidfile /var/run/redis_6381.pid logfile 6381.log dbfilename dump6381.rdb启动三个redis服务器 redis-server /usr/local/redis6379.conf redis-server /usr/local/redis6380.conf redis-server /usr/local/redis6381.conf查看 ps -ef|grep redis说明已启动成功。 开三个窗口分别客户端连接三个服务 redis-cli -p 端口号 -a 密码 //没有密码不需要 -a 选项 redis-cli -p 6379 -a 123456 redis-cli -p 6380 -a 123456 redis-cli -p 6381 -a 123456模拟实践 主要命令 info replication # 查看当前库信息 slaveof 主库IP 主库端口 # 指定主库配从库不配主库查看三个库的信息 三个库的前两个信息都一样目前都是主机且都没有从机默认三个都是主机 配置一个主机master两个从机slave slaveof host port # 找谁当老大 在6380和6381窗口输入以下命令 slaveof 127.0.0.1 6379查看6379、6380、6381信息 主机赋值从机取值实现读写分离 在主机6379窗口赋值两个从机都能获取到但是从机不能赋值会报错。主机中的所有信息和数据都会自动被从机保存 主机断开 这时从机依然是从机且正常工作。 主机再次恢复 主机恢复后再赋值从机依然能够读取到这样可以保证高可用。 从机断开 从机断开后主机赋了新值从机启动后无法获取到新值原因是从机启动后又默认为主机了。 如果想从机断开再启动还为从机就不要用命令行配置主机从机只是临时配置可以采取配置文件redis.conf直接指定永久的 只要谋位的从机由主机变回从机立马会从主机中获值。 谋朝篡位 主机断开后从机如果想要当主机可以使用 slaveof no one 进行“谋朝篡位”从而变成主机。 但此时其他节点还是很“忠心”依然认定之前的主机为主机这样变成的主机是没有从机的是个“孤家寡人”。 主机如果恢复可以“平息叛乱”之前的从机依旧认定它为主机但是变成主机的那个从机不再认定原主机了。 如图可看出从机已经变成主机 主机恢复可以看出只有一个从机了6781 从机复制主机信息数据的原理 改朝换代 前面的操作在实际场景中并不适用因为我们希望的是主机断开后有从机作为主机依旧实现主从复制。 所以在从机“谋朝篡位”后还需要让剩余的从机“认主”让他们都“归顺”于新的主机但是这种需要自己在主机消失后手动配置修改从机认定的主机。 这样原来的主机恢复后就变成了“孤家寡人”。 有没有好的方法让主机消失后其中一个从机自动变成主机继续实现主从复制避免故障呢下面就要开始讲诉哨兵模式了。 二、哨兵模式 1.概述 主从切换技术的操作是当主机宕机后需要手动把一台从机切换为主机。这就需要人工干预费事费力还会造成一段时间内服务不可用。这不是一种推荐的方式更多时候我们优先考虑哨兵模式。Redis 从 2.8 开始正式提供了 Sentinel哨兵 架构来解决这个问题。它是“谋朝篡位”的自动版能够后台监控主机是否故障如果故障了根据投票数自动将从机转换为主机。哨兵模式是一种特殊的模式首先 Redis 提供了哨兵的命令哨兵是一个独立的进程它会独立运行。其原理是哨兵通过发送命令等待 Redis 服务器响应从而监控运行的多个 Redis 实例。 这里的哨兵有两个作用 通过发送命令让 Redis 服务器返回监控其运行状态包括主机和从机。当哨兵监测到 master 宕机会自动将 slave 切换成 master然后通过发布订阅模式通知其他的从机修改配置文件让它们切换主机。然而一个哨兵进程对 Redis 服务器进行监控可能会出现问题为此我们可以使用多个哨兵进行监控。 各个哨兵之间还会进行监控这样就形成了多哨兵模式 假设主机宕机哨兵 1 先检测到这个结果系统并不会马上进行 failover故障转移 过程仅仅是哨兵 1 主观的认为主机不可用这个现象称为主观下线。 当后面的哨兵也检测到主机不可用并且数量达到一定值时哨兵之间就会进行一次投票投票的结果由一个哨兵发起进行 failover 操作。 切换成功后就会通过发布订阅模式让各个哨兵把自己监控的从机实现切换主机这个过程称为客观下线。 2.配置使用 这里演示一个哨兵监测一个主机。 在 redis 目录下新建 myconfig 目录并创建文件 sentinel.conf 具体看自己我是在/usr/local目录下创建的myconfig并在myconfig内创建 sentinel.conf 文件名必须为 sentinel.conf mkdir myconfig cd myconfig/ vim sentinel.conf编写sentiel.conf sentinel monitor myredis 127.0.0.1 6379 1 # sentinel monitor 被监控的名称 host port 1末尾的 1 代表选票达到多少时选举成功 启动 在myconfig上一级文件输入以下命令 redis-sentinel myconfig/sentinel.conf主机断开 主机断开后哨兵进程会监测到然后发起选举调用选举算法最后选举 6380 为新的主机6381 也认定其为主机。 主机恢复 之前断开的主机恢复后哨兵进程也会检测到但此时并不会将其再设为主机而是设为新的主机的从机。 3.优缺点 优点 哨兵集群模式是基于主从模式的所有主从的优点哨兵模式同样具有。主从可以切换故障可以转移系统可用性更好。哨兵模式是主从模式的升级系统更健壮可用性更高。 缺点 Redis较难支持在线扩容在集群容量达到上限时在线扩容会变得很复杂。实现哨兵模式的配置也不简单甚至可以说有些繁琐。 4.sentinel.conf完整配置 # 哨兵 sentinel 实例运行的端口 默认 26379 port 26379 # 哨兵 sentinel 的工作目录 dir /tmp # 哨兵 sentinel 监控的 redis 主节点的 ip port # master-name 可以自己命名的主节点名字只能由字母 A-z、数字 0-9、.-_这三个字符组成。 # quorum 配置多少个 sentinel 哨兵统一认为 master 主节点失联那么这时客观上认为主节点失联了 # sentinel monitor master-name ip redis-port quorum sentinel monitor mymaster 127.0.0.1 6379 2 # 当在 Redis 实例中开启了 requirepass foobared 授权密码 这样所有连接 Redis 实例的客户端都要提供密码 # 设置哨兵 sentinel 连接主从的密码注意必须为主从设置一样的验证密码 # sentinel auth-pass master-name password sentinel auth-pass mymaster MySUPER--secret-0123passw0rd # 指定多少毫秒之后主节点没有应答哨兵 sentinel此时哨兵主观上认为主节点下线默认 30 秒 # sentinel down-after-milliseconds master-name milliseconds sentinel down-after-milliseconds mymaster 30000 # 这个配置项指定了在发生 failover 主备切换时最多可以有多少个 slave 同时对新的 master 进行同步 # 这个数字越小完成 failover 所需的时间就越长 # 但是如果这个数字越大就意味着越多的 slave 因为 replication 而不可用 # 可以通过将这个值设为 1 来保证每次只有一个 slave 处于不能处理命令请求的状态 # sentinel parallel-syncs master-name numslaves sentinel parallel-syncs mymaster 1 # 故障转移的超时时间 failover-timeout 可以用在以下这些方面 # 1. 同一个 sentinel 对同一个 master 两次 failover 之间的间隔时间 # 2. 当一个 slave 从一个错误的 master 那里同步数据开始计算时间。直到 slave 被纠正为向正确的 master 那里同步数据时。 # 3. 当想要取消一个正在进行的 failover 所需要的时间。 # 4. 当进行 failover 时配置所有 slaves 指向新的 master 所需的最大时间。 # 不过即使过了这个超时slaves 依然会被正确配置为指向 master但是就不按 parallel-syncs 所配置的规则来了 # 默认三分钟 # sentinel failover-timeout master-name milliseconds sentinel failover-timeout mymaster 180000 # SCRIPTS EXECUTION # 配置当某一事件发生时所需要执行的脚本可以通过脚本来通知管理员例如当系统运行不正常时发邮件通知相关人员。 # 对于脚本的运行结果有以下规则 # 若脚本执行后返回 1那么该脚本稍后将会被再次执行重复次数目前默认为 10 # 若脚本执行后返回 2或者比 2 更高的一个返回值脚本将不会重复执行。 # 如果脚本在执行过程中由于收到系统中断信号被终止了则同返回值为 1 时的行为相同。 # 一个脚本的最大执行时间为 60s如果超过这个时间脚本将会被一个 SIGKILL 信号终止之后重新执行。 # 通知型脚本:当 sentinel 有任何警告级别的事件发生时比如说 redis 实例的主观失效和客观失效等将会去调用这个脚本 # 这时这个脚本应该通过邮件SMS 等方式去通知系统管理员关于系统不正常运行的信息。 # 调用该脚本时将传给脚本两个参数一个是事件的类型一个是事件的描述。 # 如果 sentinel.conf 配置文件中配置了这个脚本路径那么必须保证这个脚本存在于这个路径并且是可执行的否则 sentinel 无法正常启动成功。 # 通知脚本 # sentinel notification-script master-name script-path sentinel notification-script mymaster /var/redis/notify.sh # 客户端重新配置主节点参数脚本 # 当一个 master 由于 failover 而发生改变时这个脚本将会被调用通知相关的客户端关于 master 地址已经发生改变的信息。 # 以下参数将会在调用脚本时传给脚本: # master-name role state from-ip from-port to-ip to-port # 目前 state 总是 “failover”role 是 “leader” 或者 “observer” 中的一个。 # 参数 from-ipfrom-portto-ipto-port是用来和旧的 master 和新的 master (即旧的 slave)通信的 # 这个脚本应该是通用的能被多次调用不是针对性的。 # sentinel client-reconfig-script master-name script-path sentinel client-reconfig-script mymaster /var/redis/reconfig.sh总结 以上就是主从复制和哨兵模式的详细讲解。

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

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

相关文章

做的最好的网站公司离退休工作网站建设方案

1、获取秒级时间戳与毫秒级时间戳、微秒级时间戳import timeimport datetimet time.time()print (t) #原始时间数据print (int(t)) #秒级时间戳print (int(round(t * 1000))) #毫秒级时间戳print (int(round(t * 1000000))) #微秒级时间戳返回1499825149.257892 #原始时间数据…

淮北建设工程质量安全站网站宁乡市住房和城乡建设局网站

文章目录 问题背景堆栈对齐要求Cortex-M33 的 FPU 功能 问题背景 rt-thread 在PendSV_Handler退出的时候发生了HardFault_Handler是什么原因?且 LR 的值为0xfffffffd 堆栈对齐要求 在 ARM Cortex-M 架构中,堆栈指针 (SP) 必须始终保持 8 字节对齐。这…

丝绸之路网站建设策划书外贸行业网站建设

目录 Docker容器服务的注册和发现 1、什么是服务注册与发现? 2、什么是consul consul的部署 1、环境准备 2、部署consul服务器 1)建立 Consul 服务 2)设置代理,在后台启动 consul 服务端 3)查看集群信息 4&a…

某网站seo诊断分析wordpress 增加阅读量

详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel注意:下列教程为 Windows7 64位;Windows 10有部分步骤有差异,请参考使用!01 下载Python程序安装包首先前往Python官网 www.python.org,进入官网点击 Downloads,然后点击 W…

嘉兴电子网站建设mirages WordPress

数据量单位 位(bit)是计算机中最小的存储单位,每一位可以存储一个二进制码值的0或1。而字节(byte)则通常是由八个位组成的一个存储单元。在计算机中,字节是最小的可寻址单位,这意味着 CPU 在使…

营销型网站欣赏郑州网站建设郑州网站建设

文章目录命令介绍常用选项参考示例(一)显示当前的本地化设置与键盘映射(二)设置系统的本地化字符集环境变量(三)列出本地所有字符集(四)列出所有可用的控制台键盘映射(五…

更新公司网站内容需要苏州招聘网站建设

别做软件开发了,太恶心了。 裁员好几波人,他们的项目就给到剩下的人身上了。 然后工作量翻倍,主要是遗留的项目也一堆bug.人员流动性太大。 项目的产品也换人了。开发也换了。没有人熟悉这个项目了。 现状就是,先看页面&#xff…

.net建网站的优势建网站公司那个比较好

1.题目描述 给定两个由小写字母组成的字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 示例 1: 输入: s1 “abc”, s2 “bca” 输出: true 示例 2: 输入: s1 “abc”,…

北京网站建设是什么意思wordpress注册密码插件

前言 近期我正在开发一个前后端分离项目,使用了Spring Boot 和 Vue2,借助了国内优秀的框架 jeecg,前端UI库则选择了 ant-design-vue。在项目中,需要实现文件上传功能,同时还要能够在线预览和下载图片和PDF文件&#x…

常州建网站公司吴中区网站建设技术

目录 使用SQLmap Tamper脚本 1. 选择合适的Tamper脚本 2. 在命令行中使用Tamper脚本 3. 组合使用Tamper脚本 4. 注意和考虑 黑客零基础入门学习路线&规划 网络安全学习路线&学习资源 SQLmap是一款强大的自动化SQL注入和数据库取证工具。它用于检测和利用SQL注入漏…

自学免费网站建设内蒙古建设协会网站

在上一篇文章中,我们继续在DynamoDB数据库上插入数据。 在本教程中,我们将对DynamoDB表发出一些基本查询。 主要规则是每个查询都必须使用哈希键。 查询的最简单形式是仅使用哈希键。 我们将在此表上查询Users表。 结果只有一个,因此在迭代…

精品课程教学网站网站封装成app可以做热更新

使用split()方法 这可能是最常见的字符串分割方法,它使用指定的分隔符将字符串拆分为子字符串,并返回一个数组。例如: const str Hello World; const arr str.split( );console.log(arr); // [Hello, World]使用substring()方法 此方法从…

淘宝网站图片维护怎么做实现微信绑定登录网站

Azure Show大家好,欢迎来到Azure Show第八期,好久不见!因为工作的原因有两个月没和大家见面,但12月Azure Show回归,会有更多大家感兴趣的话题,也有更多嘉宾与大家见面。除了这一期,在12月我们还…

湖南网站建设oqiandu德国购物网站大全

一、问题 当虚拟机非正常关机后导致集群宕机,重启虚拟机后出现的问题: 会发现kubectl get pod -A 一直看到所有的pod 都起不来,状态都不是Running 二、实验环境 测试环境:三台虚拟机 2C 2G 100G 注意:我这里用的是测…

江西景德镇建设厅网站广州响应式网站制作

文章目录 一、简介(1)U8g2(2)U8x8 二、配置要求三、移植步骤(1)文件准备和添加(2)实现回调接口(I2C的读写函数)①软件I2C②硬件I2C (3)功能裁剪① u8g2_d_set…

哪家企业做网站还有人用asp做网站吗

77. 组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] 示例 2: 输入:…

域名代备案南阳网站seo顾问

1.图片向下撑大3像素问题在一个盒子里面放一张图片,默认情况下,图片会向下撑大3像素,有以下几种解决方法:1.1给图片添加display:block;1.2给图片添加float:left;1.3 给图片添加vertical-align:middle;1.4 给…

湖南对外建设集团网站温州网站建设联系电话

q7goodies事例在Data Geekery ,我们喜欢Java。 而且,由于我们真的很喜欢jOOQ的流畅的API和查询DSL ,我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 ,现在我们觉得是时候开始一个…

网页和网站设计如何做网站跳转

一、模块题目 二、原理简述 (转载,删改) 1、什么是中断 你正在追电视剧《神雕侠侣》,正看得入迷的时候,电话响了,你暂停电视剧,去接电话,在接电话的过程中,门铃又响了,你暂时放下电话,去把门打开。如果追电视剧是在执行主程序,那么电话就是中断源,电话铃响了就是中…

响应式网站设计的现状小说手机网站建设

递归神经网络(Recursive Neural Networks)是一种特殊的神经网络,它们通过处理具有树形结构的数据来捕获数据的深层次关系,尤其是在自然语言处理和计算机视觉中的一些应用,如语法分析和场景理解。 1. 理解基本概念和背…