当前位置: 首页 > news >正文

国外网站建设的步骤小型工作室项目大全

国外网站建设的步骤,小型工作室项目大全,2023年1月热点新闻事件,最新版wordpress功能前言 Redis为了保证服务高可用#xff0c;其中一种实现就是主从模式#xff0c;即一个Redis服务端作为主节点#xff0c;若干个Redis服务端作为主节点的从节点#xff0c;从而实现即使某个服务端不可用时#xff0c;也不会影响Redis服务的正常使用。本篇文章将对主从模式…前言 Redis为了保证服务高可用其中一种实现就是主从模式即一个Redis服务端作为主节点若干个Redis服务端作为主节点的从节点从而实现即使某个服务端不可用时也不会影响Redis服务的正常使用。本篇文章将对主从模式中为了保证主节点和从节点数据一致而实现的主从同步机制进行学习。 正文 一. 主从数据同步概述 Redis主从模式中一个高可用的Redis服务由一个Redis主节点Master后续简称为主节点和若干Redis从节点Slave后续简称为从节点组成。 Redis中采用读写分离来保证主节点和从节点之间的数据一致性具体实现如下。 主节点支持数据写入和数据读取从节点只支持数据读取主节点会与从节点之间执行主从数据同步以保证主节点数据与从节点数据一致。 主从数据同步分为如下几种情况。 从节点与主节点建立连接时进行全量同步主节点与从节点正常运行时的同步主节点与从节点连接断开后又重连时会进行增量同步或全量同步。 本篇文章将对Redis中的主从数据同步的几种情况进行学习。 二. 从节点与主节点建立连接时的全量同步 从节点与主节点建立连接时的全量同步可以用下图进行示意。 对于上图所示步骤说明如下。 从节点通过配置文件中的replicaof {masterip} {port} 获得主节点ip和port然后向主节点发送psync {repID} {offset} 指令其中repID表示主节点唯一标识offset为复制偏移量因为当前从节点与主节点尚未连接且尚未开始复制所以repID为 ?offset为-1主节点收到psync {repID} {offset} 指令后会响应从节点并发送fullresync {repID} {offset} 指令从节点会将主节点的repID和offset保存下来主节点收到psync {repID} {offset} 指令后会执行bgsave异步的生成RDB文件然后主节点将RDB文件发送给从节点从节点接收到RDB文件后会清空内存数据然后加载RDB文件的数据到内存中由于主节点生成RDB文件时是异步生成的此时主节点是非阻塞的可以继续处理业务所以在生成RDB文件期间发送RDB文件期间和从节点加载RDB文件期间主节点执行的写指令均会存放到缓冲区replication_buffer中所以当从节点加载完RDB文件后主节点会将replication_buffer中的内容发送给从节点从节点会执行replication_buffer中的指令从而达到和主节点一致的状态。 特别说明在全量同步期间主节点是非阻塞的同时从节点很大程度上是非阻塞的从节点的非阻塞表现在可以通过配置让从节点在全量同步期间使用旧内存数据来处理查询指令但是从节点在删除旧内存数据并加载RDB文件数据到内存中这段时间里从节点是阻塞的4.0版本前删除旧数据和加载RDB文件都会阻塞从节点4.0版本开始删除旧数据可以通过配置变成不阻塞从节点但是加载RDB文件还是会阻塞从节点。 最后说明一个异常情况那就是replication_buffer是有大小限制的如果replication_buffer大小超过了限制主节点会断开与从节点的同步连接此时replication_buffer的数据会被清空然后会重新开始全量同步所以replication_buffer大小需要设置一个合理值。 更多C后端开发技术点知识内容包括C/CLinuxNginxZeroMQMySQLRedisMongoDBZK流媒体音视频开发Linux内核TCP/IP协程DPDK多个高级知识点。 【文章福利】另外还整理一些C后台开发架构师 相关学习资料面试题教学视频以及学习路线图免费分享有需要的可以点击 C后端学习资料 免费领取 三. 主节点与从节点正常运行时的同步 参见redis.io/docs/manual…中的一段话。 When a master and a replica instances are well-connected, the master keeps the replica updated by sending a stream of commands to the replica to replicate the effects on the dataset happening in the master side due to: client writes, keys expired or evicted, any other action changing the master dataset.即正常运行期间主节点会向从节点发送写指令流来同步主节点的数据变更到从节点。 四. 主节点与从节点断开连接又重连时的增量同步 在第二节中提到了从节点在启动后并需要与主节点进行全量同步时会向主节点发送psync {repID} {offset} 指令这里先对repID和offset进行解释。 repID repID即Replication ID是Redis节点作为主节点启动时或者从节点被晋升为主节点时该主节点都会生成一个新的repID思考一下什么情况还会有旧的repID后续连接到该主节点的从节点在第一次全量同步的建立连接阶段会保存一份主节点的repID所以具有相同repID的节点的数据具有相关性。 offset offset即偏移量可以理解为当前节点的数据的逻辑时间。举个例子某个节点A的offset为500和节点A具有相同repID的节点B的offset为520那么表明节点B的数据比节点A的数据更新节点A需要再执行一些写指令才能够让节点A的数据状态和节点B一致。 有了上述两点认识现在思考一个问题主节点和从节点如果因为某些原因断开了连接而断开连接这段时间里主节点又处理了一些写指令那么从节点重新连接后应该怎么将断开连接那段时间里的写指令同步给重连的从节点通常的想法就是再执行一次全量同步在2.8之前的版本确实是这么实现的但从2.8版本开始引入了增量同步具体的实现如下。 主节点维护着一份repl_backlog_buffer缓冲区域叫做复制积压缓冲区主节点在任何时候执行写指令时都会将写指令记录在repl_backlog_buffer中repl_backlog_buffer是一个环形数组所以当数组满时后续再添加的写指令会覆盖旧的写指令因此主节点还使用了一个叫做master_repl_offset的偏移量来记录主节点的存到repl_backlog_buffer中的最新写指令的位置master_repl_offset就是上面提到的offset只不过在主节点中叫做master_repl_offset从节点也有一个偏移量叫做slave_repl_offset用来记录从节点已经从主节点的repl_backlog_buffer中同步到的最新写指令的位置主节点收到写指令后master_repl_offset增加从节点从主节点的repl_backlog_buffer同步了写指令后slave_repl_offset增加从节点断开重连后会向主节点发送psync {repID} {slave_repl_offset} 指令此时slave_repl_offset通常会小于master_repl_offset所以主节点仅需要将slave_repl_offset到master_repl_offset之间的写指令同步给从节点这就是增量同步。 特别注意如果repl_backlog_buffer中记录的从节点断开连接期间的写指令已经被后续的写指令覆盖那么此时不能执行增量同步而是需要执行全量同步所以需要将repl_backlog_buffer的大小设置一个合理的值来尽可能的保证不出现重连后需要全量同步的情况。 总结 以一张图进行总结。 原文链接详解Redis的主从同步原理 - 掘金
http://www.w-s-a.com/news/185078/

相关文章:

  • c语言软件开和网站开发区别多产品的网站怎么做seo
  • 收益网站制作移动互联网应用的使用情况表格
  • 专业的手机网站建设公司哪家好同城信息网站建设
  • 参与做网站的收获国外网站服务器建设
  • 西宁网站建设报价cu君博规范网站kv如何做
  • 毕业室内设计代做网站广东建设监理协会网站个人账号
  • 百度推广点击收费标准自己如何做网站优化
  • 安徽省建设监理网站广州澄网站建设公司
  • 做简历用什么网站俄罗斯搜索引擎浏览器官网入口
  • dw里响应式网站怎么做制作网站需要多少时间
  • 网站如何做双链路示范学校建设专题网站
  • 网站开发北京影视网站seo描述
  • 高端网站定制建设公司哪家好企业网络推广技巧
  • 建设公司网站的内容建筑设计图片
  • 用ps怎么做网站的效果图互联网营销师报名入口官网
  • 网站的后端怎么开发网站 白名单
  • 济宁中小企业网站建设wordpress爆破工具
  • 零基础网站建设视频商城系统平台有哪些
  • 那个网站做百科好过wordpress删除
  • 优化网站排名怎么制作网站建设数据库模板
  • 哪个建站软件比较好带论坛都有什么公司需要网站建设
  • 同城便民网站开发自己免费怎么制作网站吗
  • 数据库网站开发教程网站内部优化是什么意思
  • 哈尔滨建站怎么做广西seo快速排名
  • 公司网站建设的不足企业文档管理wordpress
  • .net做的网站代码网站怎么加二级域名
  • 网站建设方案对比分析报告成都短视频代运营
  • 企业所得税税率知多少重庆seo什么意思
  • ftp如何修改网站备案号百度云建站
  • 免费做网站空间dede二手车网站源码