我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

如何分析redis复制

如何分析redis  复制,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

成都创新互联公司是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:网站制作、网站设计、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。

相对比使用RDS ,NOSQL 数据库的虽使用,但被忽视的不少,相对于数据库之间的复制,(物理复制, 逻辑复制),redis 的复制,不少人认为还是比较简单的。那下面有一些问题

1 redis 复制对对于内存有什么要求

2 redis 复制到底是推数据还是拉数据

3 如果两台 redis 拥有同样的replicationID 和 offset 是否能他们的数据一致。

4 redis 可以拥有两个复制ID吗?

首先有几个facts 需要别列出来

1 复制是异步的

2 复制不会阻止master 服务器的上的工作

3 master 上可以连接多个slaves

4 复制是可控的

5 Slave 都是只读的

6 副本可以是master ,也就是具有级联的概念

复制的配置很简单,只要在从库配置了 replicaof 信息,以及master 认证,初步的复制就会工作了。

在Master 和 replica 之间建立复制的关系后,,由master发送指令给replica,并且将所发生的操作,键值过期以及处理,等信息发送给replica。

当master和replica主键由于某些原因断开后,进行重新连接后进行重新的同步,将replica中没有的数据,从主同步到replica,当这样的复制方式不能进行正常的同步,则要在主中先进行snapshot  当前所有的数据发送给replica然后在将后续复制过程中,master操作的数据在复制并重放到replica.

如何分析redis  复制

问题1 

redis 在复制中内存比单机的redis要考虑的更多,通常redis 被分配的内存的60% 用于主要的工作,而剩下的是需要为bgsave 和后期的数据同步服务的。

最后一句话的意思是,reids 的复制其实的数据是要灌入到内存中,而不是和传统数据库要进行落盘的操作,在进行数据的硬化。所以redis的数据复制是依赖于内存的,并且内存预留的越大,则复制的速度也越快,所以预留足够的内存给REDIS 对加速复制是有好处的。

如何分析redis  复制

问题2 redis 的数据应该是属于推的方式

这个问题其实我也查过一些资料,但特别清晰的定义数据是 pull 还是push 的并没有。但下面的一段官方的文字或许可以回答这个问题。当 replica  连接到主后, 会发送psync命令到主,其中包含如果之前已经有主,并且有复制的话,则发送他目前拥有的主以及复制的offset 偏移量,然后主就会根据这个信息,将他目前的偏移量进行比对,如果可以进行数据的发送则开始发送数据。 如果副本引用的历史记录(复制ID)不再已知,则会发生完全重新同步:在这种情况下,副本将从头获得数据集的完整副本。

所以根据这段文字我认为redis复制的方式是 从主推送数据。

问题 3  

复制ID基本上标记了给定的数据集历史。每当一个实例作为主实例从头开始,或者一个副本被提升为主副本时,都会为这个实例生成一个新的复制ID。连接到主服务器的副本将在握手后继承其复制ID。因此,具有相同ID的两个实例之间存在关联,因为它们拥有相同的数据,但可能在不同的时间。对于保存最新数据集的给定历史记录(复制ID),偏移量作为需要理解的逻辑时间。所以具有相同的复制ID 以及 OFFSET 偏移量的两个REDIS 数据是同步的。

问题 4  

Redis实例有两个复制id的原因是将副本提升到主副本。故障转移之后,提升的副本仍然需要记住它以前的复制ID,因为这样的复制ID是以前的主副本ID。这样,当其他副本将与新主副本同步时,它们将尝试使用旧主副本ID执行部分重新同步。这将像预期的那样工作,因为当副本被提升为主ID时,它将把它的辅助ID设置为主ID,记住这个ID切换发生时的偏移量。稍后,它将选择一个新的随机复制ID,因为一个新的历史记录开始了。在处理连接的新副本时,主副本将使用当前ID和辅助ID匹配它们的ID和偏移量(为安全起见,最大偏移量为给定偏移量)。简而言之,这意味着在故障转移之后,连接到新提升的主服务器的副本不必执行完全同步。所以一个REDIS 在进行故障转移后,并且还要挂载其他的新的replica的情况下,是拥有两个replica ID的。

关于如何分析redis  复制问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


分享名称:如何分析redis复制
本文路径:http://mswzjz.cn/article/pcicds.html

其他资讯