Replication Introduction
Replication是一種跨伺服器同步資料的處理技術.
Purpose of Replication
Replication提供在不同database Server之間,多重複製資料時,提供資料的高用性,並保護單一server資料遺失。也允許單一server失敗時,還原資料。在某些條件下,也可以增加讀取資料的容量。client有讀取及寫入不同Server的能力。
Replication in MongoDB
replica set 是 mongod instance的集合與host的Data set相同。 primary mongod 負責所有"寫入"的作業,其它所有的secondary,向primary申請相同的data set。
secondaries 複製primary的oplog及申請操作secondary的data set,這樣primary的data會反應給 sesecondary的data set.如果primary的失效,replica set會從secondayr中找一個當作primary.
可以新增一個mongod instance 為arbiter,arbiter不處理資料.因為 MongoDB 的機制,是讓眾伺服器投票決定誰當 Primary,一個 RelpSet 中只有兩台機器時,常會發生問題,造成整個群組中無 Primary 機器的狀態。所以,這時要加入仲裁者(Arbiter)機器來協助排除。
非同步複製(Asynchronous
Replication)
Secondary可以primary申請非同步複製.即使過程中有多個成員失敗,還是可以持續執行.
自動故障移轉(Automatic
Failover)
當primary無法與其他成員溝通超過10移以上,replica set會嘗試選擇其它的成員為新的primary.第一順位的secondary會收到多數的投票結果,成為primary.
沒有留言:
張貼留言