實戰MongoDB-Replication之Replica Set

來源:互聯網
上載者:User

實戰MongoDB

Master-Slave

MongoDB支援不同服務之間的非同步資料複製,來實現failover(容錯移轉,故障切換,故障恢複) and redundancy(資料冗餘)。

同一時間,只有一個服務節點(primary或者master)支援寫入。

MongoDB支援兩種複製的模式:

Master/Slave,主從複製,角色包括master和slave。

Replica Set,複製集複製,角色包括primary和secondary。

介紹Master/Slave的官方地址:

http://www.mongodb.org/display/DOCS/Master+Slave

介紹Replica Set的官方地址:

http://www.mongodb.org/display/DOCS/Replica+Sets

今天實戰的是replica set,也就是複製集複製。

replica set可以實現自動的failover和自動的recovery。

replica set由兩個或者更多的節點群組成,實現彼此的複製。

replica set自動選擇primary節點,沒有一個節點是固定的primary。

mongos會自動探索一個replica set的primary節點發生變化,並將寫操作發送給這個新的primary節點。

通常用於下面幾個情境

資料冗餘。

自動failover,提供高可用性的服務。

分散讀的負載。

簡化維護(相對於master-slave來說)。

災難恢複。

首先還是啟動mongod,用於replica set的參數有兩個:

--replSet <setname>,複製集的名稱。

--oplogSize <MB>,動作記錄的大小,單位為MB。

這回我們在ubuntu下面配置replica set,先啟動兩個mongod節點。

mongod --dbpath /home/andyshi/mongo1/ --logpath /home/andyshi/mongo1/log.log --replSet shard1 --port 10001 --bind_ip 192.168.0.21

mongod --dbpath /home/andyshi/mongo2/ --logpath /home/andyshi/mongo2/log.log --replSet shard1 --port 10002 --bind_ip 192.168.0.21

你會注意到,上面兩個mongod的啟動參數replSet指定了相同的值shard1,也就是兩個個mongod節點處於同一個replica set中。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.