當你的用戶抱怨修改過的信息不改變,刪除掉的數(shù)據(jù)還在顯示,你掐指一算,估計是數(shù)據(jù)庫主從不同步。
成都創(chuàng)新互聯(lián)公司是專業(yè)的雙鴨山網(wǎng)站建設(shè)公司,雙鴨山接單;提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行雙鴨山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
與其他提供數(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ù)因為各種天災(zāi)人禍無法恢復(fù)的時候,我們至少還有從節(jié)點可以依賴。但是主從延遲問題可能會對上面兩個效果都產(chǎn)生不好的影響。
如果主從延遲過大,主節(jié)點上會有很多數(shù)據(jù)更改沒有同步到從節(jié)點上。這時候如果主節(jié)點故障,就有兩種情況:
1.主節(jié)點故障并且無法恢復(fù),如果應(yīng)用上又無法忍受這部分數(shù)據(jù)的丟失,我們就得想各種辦法將這部數(shù)據(jù)更改找回來,再寫入到從節(jié)點中去??梢韵胂螅词故怯锌赡?,那這也絕對是一件非常惡心的活。
2.主節(jié)點能夠恢復(fù),但是需要花的時間比較長,這種情況如果應(yīng)用能忍受,我們可以直接讓從節(jié)點提供服務(wù),只是對用戶來說,有一段時間的數(shù)據(jù)丟失了,而如果應(yīng)用不能接受數(shù)據(jù)的不一致,那么就只能下線整個業(yè)務(wù),等主節(jié)點恢復(fù)后再提供服務(wù)了。
如果你只有一個從節(jié)點,當主從延遲過大時,由于主節(jié)點只保存最近的一部分oplog,可能會導(dǎo)致從節(jié)點青黃不接,不得不進行resync操作,全量從主節(jié)點同步數(shù)據(jù)。這會帶來兩個問題。
1.當從節(jié)點全量同步的時候,實際只有主節(jié)點保存了完整的數(shù)據(jù),這時候如果主節(jié)點故障,很可能全部數(shù)據(jù)都丟掉了。
#mongo查看主從延遲
mongo
use admin
db.auth
db.printSlaveReplicationInfo()
文章標題:關(guān)于MongoDB同步延遲問題
網(wǎng)站URL:http://jinyejixie.com/article30/pgecpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、、軟件開發(fā)、網(wǎng)站制作、品牌網(wǎng)站制作、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)