當你的用戶抱怨修改過的信息不改變,刪除掉的數(shù)據(jù)還在顯示,你掐指一算,估計是數(shù)據(jù)庫主從不同步。
創(chuàng)新互聯(lián)一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!為您提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、成都網(wǎng)頁設(shè)計、小程序定制開發(fā)、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、APP應用開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計公司,等你一起來見證!與其他提供數(shù)據(jù)同步的數(shù)據(jù)庫一樣,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模式中,同步延遲也經(jīng)常是困擾我們的大問題。本文就從同步延遲的由來說起,對MongoDB的同步延遲問題進行深入的剖析。
什么是同步延遲?
首先,要出現(xiàn)同步延遲,必然是在有數(shù)據(jù)同步的場合,在MongoDB中,有兩種數(shù)據(jù)冗余方式,一種是Master-Slave模式,一種是Replica Sets模式。這兩個模式本質(zhì)上都是在一個節(jié)點上執(zhí)行寫操作,另外的節(jié)點將主節(jié)點上的寫操作同步到自己這邊再進行執(zhí)行。在MongoDB中,所有寫操作都會產(chǎn)生oplog,oplog是每修改一條數(shù)據(jù)都會生成一條,如果你采用一個批量update命令更新了N多條數(shù)據(jù),那么抱歉,oplog會有很多條,而不是一條。
所以同步延遲就是寫操作在主節(jié)點上執(zhí)行完后,從節(jié)點還沒有把oplog拿過來再執(zhí)行一次。而這個寫操作的量越大,主節(jié)點與從節(jié)點的差別也就越大,同步延遲也就越大了。
同步延遲帶來的問題
首先,同步操作通常有兩個效果,一是讀寫分離,將讀操作放到從節(jié)點上來執(zhí)行,從而減少主節(jié)點的壓力。對于大多數(shù)場景來說,讀多寫少是基本特性,所以這一點是很有用的。另一個作用是數(shù)據(jù)備份,同一個寫操作除了在主節(jié)點執(zhí)行之外,在從節(jié)點上也同樣執(zhí)行,這樣我們就有多份同樣的數(shù)據(jù),一旦主節(jié)點的數(shù)據(jù)因為各種天災人禍無法恢復的時候,我們至少還有從節(jié)點可以依賴。但是主從延遲問題可能會對上面兩個效果都產(chǎn)生不好的影響。
如果主從延遲過大,主節(jié)點上會有很多數(shù)據(jù)更改沒有同步到從節(jié)點上。這時候如果主節(jié)點故障,就有兩種情況:
1.主節(jié)點故障并且無法恢復,如果應用上又無法忍受這部分數(shù)據(jù)的丟失,我們就得想各種辦法將這部數(shù)據(jù)更改找回來,再寫入到從節(jié)點中去??梢韵胂?,即使是有可能,那這也絕對是一件非常惡心的活。
2.主節(jié)點能夠恢復,但是需要花的時間比較長,這種情況如果應用能忍受,我們可以直接讓從節(jié)點提供服務,只是對用戶來說,有一段時間的數(shù)據(jù)丟失了,而如果應用不能接受數(shù)據(jù)的不一致,那么就只能下線整個業(yè)務,等主節(jié)點恢復后再提供服務了。
如果你只有一個從節(jié)點,當主從延遲過大時,由于主節(jié)點只保存最近的一部分oplog,可能會導致從節(jié)點青黃不接,不得不進行resync操作,全量從主節(jié)點同步數(shù)據(jù)。這會帶來兩個問題。
1.當從節(jié)點全量同步的時候,實際只有主節(jié)點保存了完整的數(shù)據(jù),這時候如果主節(jié)點故障,很可能全部數(shù)據(jù)都丟掉了。
#mongo查看主從延遲
mongo
use admin
db.auth
db.printSlaveReplicationInfo()
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。