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

网站建设的费用和预算网站建设和架构

网站建设的费用和预算,网站建设和架构,长沙 公司网站,wordpress 后台 模板Redis#xff1a;主从同步一. 概述二. 原理(1) 全量同步(2) 增量同步(3) 优化Redis主从集群三. 总结一. 概述 引入#xff1a; Redis主从集群采用一个Master负责写#xff0c;多个Slave负责读的方式#xff08;读多写少#xff09;#xff0c;那么如何让读取数据时多个从… Redis主从同步一. 概述二. 原理(1) 全量同步(2) 增量同步(3) 优化Redis主从集群三. 总结一. 概述 引入 Redis主从集群采用一个Master负责写多个Slave负责读的方式读多写少那么如何让读取数据时多个从节点的数据都一样 ----将Master数据同步到每个Slave即主从同步 定义 主从同步是指将一台Redis服务器的数据复制到其他的Redis服务器。 数据的复制是单向的只能由主节点到从节点。 默认情况下每台Redis服务器都是主节点且一个主节点可以有多个从节点(或没有从节点)但一个从节点只能有一个主节点。redis有主从同步从从同步。 二. 原理 (1) 全量同步 触发时间①第一次建立连接 ②增量同步失败 流程 当slave和master建立连接后slave发起psync同步请求带上replid和offset master会根据slave的replid来判断slave是不是第一次同步ID和自己不一样则是第一次则将master的replid发给slaveslave记录replid作为自己的id①master执行bgsave将内存数据写入RDB文件并将RDB发送给slaveslave会清空本地数据加载RDB文件到【内存】中 ②当master异步写RDB文件期间会记录主进程的操作到repl_baklog缓冲区中 此时RDB文件缓冲区的命令即master上的完整数据master将缓冲区的新命令发送给slaveslave拿到命令后会执行命令保证slave和master的数据一致 后序新的命令都写到缓冲区再发送到slave以次实现主从同步 Replication ID 简称replid是数据集的标记id一致则说明是同一数据集。每个master都有唯一一个replidslave则会继承master节点的replid offset偏移量 随着master记录在【repl_baklog缓冲区】中的数据增多而逐渐增大。 slave完成同步时也会记录当前的offset 如果slave的offset小于master的offset说明slave落后于master需要更新slave的offsetmaster的offset 所以slave做同步时必须向master声明自己的Replication ID和offsetmaster就可以通过ID来判断slave是不是从当前master同步的以及从offset判断数据同步的进度 如何判断slave是不是第一次做数据同步 Replication ID不一样则是slave第一次请求同步 而后slave的Replication ID就变成了当前master的Replication IDmaster根据slave的 offset ?大小来做增量同步 (2) 增量同步 触发时间在slave重启过程中master会持续接收数据则slave数据会落后此时就是做增量同步 流程 slave重启重启完后发送给psync请求同步并带上replid和offset 由于不是第一次发起请求此时slave的replid和master一致master不用再给slave发送id而是回复continuemaster不再RDB因为slave已经拷贝过了slave宕机期间丢失的部分记录在repl_baklog缓冲区而slave的offest就是之前读取到的位置所以将缓存中slave的offset往后的命令发往slaveslave执行master传过来的命令就可以补上错过的命令此时数据保持了一致 repl_baklog缓冲区 本质是一个成环的数组当数组满了slave落后master的数据超过了缓冲区容量则会用master新命令覆盖旧的命令 只要slave和master的数据差距在一个环内就可以将slave落后于master的部分找到并发给slave 当slave和master差距超过了一个环则无法做增量同步了 什么时候增量同步失败 缓冲区是一个数组大小有限当slave断开时间太长和master的差距超过了缓冲区导致尚未备份的数据被新命令覆盖则此时无法基于缓冲区做增量同步只能做全量同步了 (3) 优化Redis主从集群 提高全量同步的性能 在master中配置无磁盘复制避免全量同步时的磁盘IO不使用RDB文件即内存数据的IO流直接写到网络中而不是先写到RDB磁盘文件减少了一次拷贝到磁盘的过程提高性能网络比较快时控制Redis单节点内存上限这样就能控制RDB文件的大小从而减少磁盘IO 减少全量同步 提高repl_baklog缓冲区的大小这样slave落后于master的数据就多一点一定程度避免由于由于增量同步失效导致的全量同步 其他 主从链式结构限制一个master上的slave节点数量减轻master的压力 三. 总结 1.全量同步与增量同步的区别 全量同步master需要将内存数据写入 RDB 文件再将RDB文件传给slave后序命令记录在缓冲区 增量同步时master不需要写RDB文件只需要将缓冲区中slave的offset之后的命令传给slave 2.什么时候执行全量同步 ①slave第一次连接master时 ②slave宕机时间太长导致salve的offset在缓冲区被新的命令覆盖 3.什么时候执行增量同步 slave重启时
http://www.hkea.cn/news/14441753/

相关文章:

  • 门户网站系统设计赶集网2022年最新招聘
  • 商品seo优化是什么意思徐州网络优化招聘网
  • 网站建设在医院的作用佛山百度推广公司
  • 杭州网站建设公司有哪几家制作一个简单网页html
  • python做网站多么先有域名才可以做网站吗
  • 网站底部固定代码个人怎么注册家族公司
  • 建设游戏运营网站开展工作总结wordpress顶和踩功能
  • 网站备案核实单网页app生成器最新版
  • 集团网站建设活动方案访问网站速度很慢
  • 常州网站排名优化网站服务内容网站建设
  • 做标书经验分享网站wordpress禁止截图
  • 预登记网站开发 会议上海网站开发月薪多少钱
  • 免费wap自助建站系统郴州市做网站
  • net网站建设教程什么网上平台可以找客源
  • 0317网站建设网站推广的主流方法
  • 上海市工商网站官网seo运营是什么
  • 一家只做t恤的网站阿里云 ip 网站
  • 织梦网站如何转百度小程序同步服务好的武进网站建设
  • 用台电脑做网站长沙本地推广
  • 上海网站建设 网页做长乐区建设局网站
  • 昆明做网站价格网站建设经营范围
  • 网站都不需要什么备案平凉市住房和城乡建设局网站
  • 制作手机广告的网站制作外贸型网站
  • wordpress站点如何适应手机建设电商网站报价
  • 永久网站推广网站后台怎么做alt标签
  • 截获网站流量怎么做建设网站公司 昆山
  • 百度收录最好的网站服装定制行业的未来和趋势
  • 邯郸市教育考试院网站最新的军事新闻报道
  • 做网站初始配置wordpress插件安装教程视频
  • 昆明做网站优化的公司有趣又有深意的广告