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

网站建设电子合同win8网站源码

网站建设电子合同,win8网站源码,国内电商平台网站制作排行榜,富阳网站建设报价Redis Replication 1、前言 在单节点搞事情, 存在的问题包括存量问题和增量问题两类, 解决方案就是1个不行上N个, 做到单机维度宕机但服务维度是可用的。 1.1 存量问题 如果目前的单节点QPS满足(也就是综合瓶颈还没达到), 那么只有宕机能影响到。如果业务量不大, 又是出于成…

Redis Replication

1、前言

在单节点搞事情, 存在的问题包括存量问题和增量问题两类, 解决方案就是1个不行上N个, 做到单机维度宕机但服务维度是可用的。

1.1 存量问题

如果目前的单节点QPS满足(也就是综合瓶颈还没达到), 那么只有宕机能影响到。如果业务量不大, 又是出于成本考虑, 做好宕机自动重启, 就是可用性差点其他没毛病。

1.2 增量问题

  1. 内存资源瓶颈, 单节点的Redis宕机时,会导致缓存不可用。比如原来4G, 后来有钱要升级到16G, 因为不能停没法升级;
  2. CPU资源瓶颈, CPU的利用率上,单台Redis实例只能利用单个核心。
  3. 综合瓶颈(CPU+内存+网络带宽), 单节点的Redis能够支撑QPS大概在5W左右,超过之后就成为高并发的瓶颈, 然而在单节点上这些都无法升级;

2 复制的作用

2.1 数据冗余

主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

2.2 故障恢复

当主节点出现了问题,可以由从节点提供服务,实现快速的故障恢复, 算是一种服务级别的冗余。

2.3 负载均衡

在主从复制的基础上, 配合读写分离, 分担数据读取负载。尤其是在写少读多的情况下,通过多个从节点分担读负载,可以大大提高redis服务器的并发量。

2.4 高可用基础

除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。

3. 复制的实现

Redis的复制包括两个阶段, 全量同步和增量同步;

3.1 角色说明

  1. 复制包含两个角色, master和slave, 其中slave复制master中的数据;
  2. 一个master实例可以有多个slave实例;
  3. 一个slave实例则只能有一个master实例;
  4. 一个slave实例可以从任何角色的实例上复制数据, 这意味着replication支持级联;

3.2 全量同步

使用场景

slave节点首次同步master数据, 同步内容包含RDB快照, 以及在RDB快照同步期间缓存的数据更新命令(存储在ReplicationBuffer中)。

具体流程

slave master Connect Connected PING PONG 1. PSYNC ? -1 (全量复制) 2. FLULLRSYNC {runset} {offset} (设置当前快照位置) 3.1 save server info 3.2 bgsave RDB (创建快照), 并将之后的命令写入ReplicationBuffer 4. send RDB (发送快照) 5. 对当前DB flushall后基于接收的RDB恢复 6. 发送快照到现在ReplicationBuffer中的命令 7. 回放ReplicationBuffer中的命令 slave master

3.3 增量同步

使用场景

slave节点临时与master节点断开, 后续又建立连接。此时slave节点的offset依然可以在master的ReplicationBacklogBuffer中找到。

具体流程

slave master Connect Connected 1. PSYNC {runset} {offset} (增量复制) 2. + CONTINUE 3. send partical data slave master

4. 配置参数

参数说明
replica-ignore-maxmemory在slave节点对带有TTL key的删除依赖于master节点生成的del命令, 因此可能会使用更多的内存。在完全一致的配置参数下可能会有问题, 因此在slave节点建议设置为yes
replica-read-onlyslave节点是否只读
replica-lazy-flushslave节点进行全量同步时flush本地DB的过程是同步还是异步
repl-ping-replica-periodslave节点与master节点之间的心跳间隔, 保持master和slave的链接有效性
replica-serve-stale-data在slave节点与master节点做全量同步过程中, 是否响应client请求
repl-backlog-size复制积压缓冲区大小, 每秒产生的命令 *(master执行rdb bgsave的时间)+ (master发送rdb到slave的时间) + (slave load rdb文件的时间) ,来估算积压缓冲区的大小,repl-backlog-size 值不小于这两者的乘积。 例如,如果主服务器平均每秒产生1 MB的写数据,而从服务器断线之后平均要5秒才能重新连接上主服务器,那么复制积压缓冲区的大小就不能低于5MB。为了安全起见,可以将复制积压缓冲区的大小设为2*5=10M,这样可以保证绝大部分断线情况都能用增量从而避免全量同步数据。
repl-backlog-ttl复制积压缓冲区中命令保持的最长时间
repl-timeout全量复制的超时时间, 如果RDB文件比较大, 可能需要调大该数值
client-output-buffer-limit不同客户端使用的buffer限制(hard/soft/time),影响全量同步过程中可 normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60。参数值设置太小,就会导致replication_buffer不够用,新增的数据也就无法存入该缓冲区。在Redis 7.0下, master会提示由于overcoming of output buffer limits而停止数据发送, slave则持续在全量同步阶段等待。 待超时之后, slave重新发起同步, 最终slave永远都无法全量同步成功, 从而影响到整个服务的性能和质量。

5. 极限测试

5.1 slave复制自己

  1. 配置操作可以成功;
  2. 日志显示开启成功连接并响应PING, 然后开始尝试部分复制, 但是没有什么数据可以复制, client断开链接;
Master is currently unable to PSYNC but should be in the future: -NOMASTERLINK Can't SYNC while not connected with my master
  1. 循环1,2直到timeout, slave认为master无法复制停止;

6. 总结

本文介绍了Redis Replication的作用,以及相关的阶段和具体实现,希望能帮助你更好地理解Redis Replication的实现,感谢您的阅读。

http://www.yayakq.cn/news/931935/

相关文章:

  • 网站设计找谁做用html制作网页
  • 学校网站建设情况说明wordpress淘宝内容
  • 圆通我做网站拉怎么创建
  • 江阴网站开发公司电话网站建设需要懂什么软件
  • 做家乡网站源代码南康网站制作
  • 外贸网站建设费用情况高端网网站建设
  • 网站推他网站网站开通流程
  • 家居企业网站建设渠道电子商务网站开发实战
  • 公司网站推广如何做南充高端网站建设
  • 网站模板建站教程网站二次开发模板
  • 唐山市住房和城乡建设局网站杭州网站建设推广
  • 国外有什么网站做游戏免费的公文写作网站
  • html网站二维码悬浮怎么做网络培训系统入口
  • 长安汽车网址大全天津网站优化首页
  • 免费的海报设计网站如何查询网站的建站工具
  • 网站设置子目录群晖wordpress更改端口
  • 重新建设网站的申请报告免费公司宣传册设计样本
  • 濮阳河南网站建设学校网站建设背景
  • 想做国外的客户做网站怎么弄如何查询网站是谁做的
  • quot 网站建设话术 quot影视主题wordpress
  • 企业电子商务网站建设规划外贸平台有哪些比较好 免费
  • 公司网站后台是什么免费网线
  • 体检中心网站建设方案电脑建站软件
  • 免费单页网站建设北京诚通新新建设有限公司网站
  • 网站建设和维护需要学的东西百度竞价排名怎么做
  • 局网站建设情况建立网站培训讲义
  • 网站建设需求说明文档企业官网快速建站框架
  • 宁波网站建设服务服务商汽车之家网站开发方案
  • 国外 网站开发框架网站logo尺寸一般多大
  • 蜂蜜网络营销推广方案热狗网站关键词优化