當(dāng)你的用戶抱怨修改過(guò)的信息不改變,刪除掉的數(shù)據(jù)還在顯示,你掐指一算,估計(jì)是數(shù)據(jù)庫(kù)主從不同步。
與其他提供數(shù)據(jù)同步的數(shù)據(jù)庫(kù)一樣,MongoDB也會(huì)遇到同步延遲的問(wèn)題,在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模式中,同步延遲也經(jīng)常是困擾我們的大問(wèn)題。本文就從同步延遲的由來(lái)說(shuō)起,對(duì)MongoDB的同步延遲問(wèn)題進(jìn)行深入的剖析。
什么是同步延遲?
首先,要出現(xiàn)同步延遲,必然是在有數(shù)據(jù)同步的場(chǎng)合,在MongoDB中,有兩種數(shù)據(jù)冗余方式,一種是Master-Slave模式,一種是Replica Sets模式。這兩個(gè)模式本質(zhì)上都是在一個(gè)節(jié)點(diǎn)上執(zhí)行寫操作,另外的節(jié)點(diǎn)將主節(jié)點(diǎn)上的寫操作同步到自己這邊再進(jìn)行執(zhí)行。在MongoDB中,所有寫操作都會(huì)產(chǎn)生oplog,oplog是每修改一條數(shù)據(jù)都會(huì)生成一條,如果你采用一個(gè)批量update命令更新了N多條數(shù)據(jù),那么抱歉,oplog會(huì)有很多條,而不是一條。
所以同步延遲就是寫操作在主節(jié)點(diǎn)上執(zhí)行完后,從節(jié)點(diǎn)還沒(méi)有把oplog拿過(guò)來(lái)再執(zhí)行一次。而這個(gè)寫操作的量越大,主節(jié)點(diǎn)與從節(jié)點(diǎn)的差別也就越大,同步延遲也就越大了。
同步延遲帶來(lái)的問(wèn)題
首先,同步操作通常有兩個(gè)效果,一是讀寫分離,將讀操作放到從節(jié)點(diǎn)上來(lái)執(zhí)行,從而減少主節(jié)點(diǎn)的壓力。對(duì)于大多數(shù)場(chǎng)景來(lái)說(shuō),讀多寫少是基本特性,所以這一點(diǎn)是很有用的。另一個(gè)作用是數(shù)據(jù)備份,同一個(gè)寫操作除了在主節(jié)點(diǎn)執(zhí)行之外,在從節(jié)點(diǎn)上也同樣執(zhí)行,這樣我們就有多份同樣的數(shù)據(jù),一旦主節(jié)點(diǎn)的數(shù)據(jù)因?yàn)楦鞣N天災(zāi)人禍無(wú)法恢復(fù)的時(shí)候,我們至少還有從節(jié)點(diǎn)可以依賴。但是主從延遲問(wèn)題可能會(huì)對(duì)上面兩個(gè)效果都產(chǎn)生不好的影響。
如果主從延遲過(guò)大,主節(jié)點(diǎn)上會(huì)有很多數(shù)據(jù)更改沒(méi)有同步到從節(jié)點(diǎn)上。這時(shí)候如果主節(jié)點(diǎn)故障,就有兩種情況:
1.主節(jié)點(diǎn)故障并且無(wú)法恢復(fù),如果應(yīng)用上又無(wú)法忍受這部分?jǐn)?shù)據(jù)的丟失,我們就得想各種辦法將這部數(shù)據(jù)更改找回來(lái),再寫入到從節(jié)點(diǎn)中去??梢韵胂螅词故怯锌赡?,那這也絕對(duì)是一件非常惡心的活。
2.主節(jié)點(diǎn)能夠恢復(fù),但是需要花的時(shí)間比較長(zhǎng),這種情況如果應(yīng)用能忍受,我們可以直接讓從節(jié)點(diǎn)提供服務(wù),只是對(duì)用戶來(lái)說(shuō),有一段時(shí)間的數(shù)據(jù)丟失了,而如果應(yīng)用不能接受數(shù)據(jù)的不一致,那么就只能下線整個(gè)業(yè)務(wù),等主節(jié)點(diǎn)恢復(fù)后再提供服務(wù)了。
如果你只有一個(gè)從節(jié)點(diǎn),當(dāng)主從延遲過(guò)大時(shí),由于主節(jié)點(diǎn)只保存最近的一部分oplog,可能會(huì)導(dǎo)致從節(jié)點(diǎn)青黃不接,不得不進(jìn)行resync操作,全量從主節(jié)點(diǎn)同步數(shù)據(jù)。這會(huì)帶來(lái)兩個(gè)問(wèn)題。
1.當(dāng)從節(jié)點(diǎn)全量同步的時(shí)候,實(shí)際只有主節(jié)點(diǎn)保存了完整的數(shù)據(jù),這時(shí)候如果主節(jié)點(diǎn)故障,很可能全部數(shù)據(jù)都丟掉了。
#mongo查看主從延遲
mongo
use admin
db.auth
db.printSlaveReplicationInfo()
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
名稱欄目:關(guān)于MongoDB同步延遲問(wèn)題-創(chuàng)新互聯(lián)
文章路徑:http://aaarwkj.com/article46/icseg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站策劃、網(wǎng)站收錄、云服務(wù)器、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容