2015年6月29日 星期一

【MongoDB】Replication Introduction

Replication Introduction
Replication是一種跨伺服器同步資料的處理技術.
Purpose of Replication
Replication提供在不同database Server之間,多重複製資料時,提供資料的高用性,並保護單一server資料遺失。也允許單一server失敗時,還原資料。在某些條件下,也可以增加讀取資料的容量。client有讀取及寫入不同Server的能力。
Replication in MongoDB
replica set  mongod instance的集合與hostData set相同。 primary  mongod 負責所有"寫入"的作業,其它所有的secondary,向primary申請相同的data set
primary允許所有來自client"寫入"操作。一個replica set 只可以有一個primaryprimary record異動dats set紀錄會存放在oplog




secondaries 複製primaryoplog及申請操作secondarydata set,這樣primarydata會反應給 sesecondarydata set.如果primary的失效,replica set會從secondayr中找一個當作primary




可以新增一個mongod instance arbiterarbiter不處理資料.因為 MongoDB 的機制,是讓眾伺服器投票決定誰當 Primary,一個 RelpSet 中只有兩台機器時,常會發生問題,造成整個群組中無 Primary 機器的狀態。所以,這時要加入仲裁者(Arbiter)機器來協助排除。



非同步複製(Asynchronous Replication)
Secondary可以primary申請非同步複製.即使過程中有多個成員失敗,還是可以持續執行.
自動故障移轉(Automatic Failover
primary無法與其他成員溝通超過10移以上,replica set會嘗試選擇其它的成員為新的primary.第一順位的secondary會收到多數的投票結果,成為primary.





沒有留言:

張貼留言