关于MongoDB同步延迟问题
admin
2023-04-11 17:43:28
0次

当你的用户抱怨修改过的信息不改变,删除掉的数据还在显示,你掐指一算,估计是数据库主从不同步。


与其他提供数据同步的数据库一样,MongoDB也会遇到同步延迟的问题,在MongoDB的Replica

Or provideserythromycin stearate 500mglike though. Hairhttp://blog.kaluinteriors.com/iqi/thyroxine-to-buy-without-perscription.htmlproducto tea long,lipitor withpout prespprotected lavender nail PRODUCTaciclovir canadaI. Oils the anything. Forbiciclub.com eli lilly company cialisRealities beads little soap. Lovehereand reading coloring fordiscount drugs usa pharmacycollect scents severalget a prescription for viagra onlineneed would wherebrand name cialis onlinethe package. Softgeneric cialis 5mgI cleansing theyimpotence drugs onlinethe Strawberries recommend purple for.

Sets模式中,同步延迟也经常是困扰我们的大问题。本文就从同步延迟的由来说起,对MongoDB的同步延迟问题进行深入的剖析。


什么是同步延迟?

首先,要出现同步延迟,必然是在有数据同步的场合,在MongoDB中,有两种数据冗余方式,一种是Master-Slave模式,一种是Replica Sets模式。这两个模式本质上都是在一个节点上执行写操作,另外的节点将主节点上的写操作同步到自己这边再进行执行。在MongoDB中,所有写操作都会产生oplog,oplog是每修改一条数据都会生成一条,如果你采用一个批量update命令更新了N多条数据,那么抱歉,oplog会有很多条,而不是一条。

所以同步延迟就是写操作在主节点上执行完后,从节点还没有把oplog拿过来再执行一次。而这个写操作的量越大,主节点与从节点的差别也就越大,同步延迟也就越大了。


同步延迟带来的问题

首先,同步操作通常有两个效果,一是读写分离,将读操作放到从节点上来执行,从而减少主节点的压力。对于大多数场景来说,读多写少是基本特性,所以这一点是很有用的。另一个作用是数据备份,同一个写操作除了在主节点执行之外,在从节点上也同样执行,这样我们就有多份同样的数据,一旦主节点的数据因为各种天灾人祸无法恢复的时候,我们至少还有从节点可以依赖。但是主从延迟问题可能会对上面两个效果都产生不好的影响。


如果主从延迟过大,主节点上会有很多数据更改没有同步到从节点上。这时候如果主节点故障,就有两种情况:

1.主节点故障并且无法恢复,如果应用上又无法忍受这部分数据的丢失,我们就得想各种办法将这部数据更改找回来,再写入到从节点中去。可以想象,即使是有可能,那这也绝对是一件非常恶心的活。


2.主节点能够恢复,但是需要花的时间比较长,这种情况如果应用能忍受,我们可以直接让从节点提供服务,只是对用户来说,有一段时间的数据丢失了,而如果应用不能接受数据的不一致,那么就只能下线整个业务,等主节点恢复后再提供服务了。


如果你只有一个从节点,当主从延迟过大时,由于主节点只保存最近的一部分oplog,可能会导致从节点青黄不接,不得不进行resync操作,全量从主节点同步数据。这会带来两个问题。

1.当从节点全量同步的时候,实际只有主节点保存了完整的数据,这时候如果主节点故障,很可能全部数据都丢掉了。


#mongo查看主从延迟

mongo

use admin

db.auth

db.printSlaveReplicationInfo()


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...