新聞中心
MongoDB Replica Sets和Auto Sharding配置的簡(jiǎn)單步驟是本文我們主要要介紹的內(nèi)容,網(wǎng)上有很多教程把Replica Sets和Auto Sharding(或者是Sharding)寫(xiě)在了一起,對(duì)于初學(xué)者可能會(huì)覺(jué)得有些莫名,之所以這樣做是因?yàn)?,一個(gè)較好的Auto Sharding解決方案是將每個(gè)一shard(分片)定為一個(gè)Replica Sets(復(fù)制集)。

豐城網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
一個(gè)Replica Sets由若干個(gè)mongod instance組成,在這個(gè)集合中,所有的instance的數(shù)據(jù)相同,這使得即使有某一臺(tái)機(jī)子當(dāng)?shù)袅?,其它機(jī)子還是可以正常運(yùn)行,而且這部分的控制是由Mongo自動(dòng)完成的,因而盡可能地減少了因當(dāng)機(jī)而產(chǎn)生的錯(cuò)誤及人工處理的部分。
而Sharding是可以將龐大的數(shù)據(jù)庫(kù)拆分為幾個(gè)部分分別發(fā)放到每一個(gè)shard,一來(lái)降低了單一一臺(tái)服務(wù)器的壓力,同時(shí)通過(guò)減少潛在的損失比例來(lái)提高效率。也就是說(shuō)一個(gè)基于Replica Sets的Auto Sharding結(jié)構(gòu),可以把一個(gè)完整而且龐大的數(shù)據(jù)庫(kù)根據(jù)個(gè)人定制,拆分到若干個(gè)服務(wù)器集合,每個(gè)服務(wù)器集合中的服務(wù)器群又相互保持?jǐn)?shù)據(jù)同步,所以除非一個(gè)服務(wù)器集合中的所有服務(wù)器都當(dāng)?shù)袅?,否則某臺(tái)或幾臺(tái)的當(dāng)機(jī)對(duì)數(shù)據(jù)庫(kù)的影響是微忽其微的。關(guān)于這兩個(gè)部分,其實(shí)在Mongo的官方文檔里有詳細(xì)的說(shuō)明,所以此文是以總結(jié)歸納為目的而寫(xiě)。
(圖片來(lái)源:http://www.mongodb.org/display/DOCS/Sharding+Introduction)
1.一個(gè)完整的Auto Sharding功能的實(shí)現(xiàn)需要用到mongod和mongos,其中mongos作為真正的應(yīng)用接口,數(shù)據(jù)的輸入輸出都應(yīng)經(jīng)過(guò)它。然后還需要一個(gè)config server,它是mongod,但它不會(huì)用來(lái)存儲(chǔ)應(yīng)用程序的數(shù)據(jù)庫(kù),通俗的來(lái)說(shuō)而是存放了這整個(gè)結(jié)構(gòu)的配置屬性,mongos會(huì)從config server中讀取配置來(lái)進(jìn)行工作。最后是真正會(huì)存儲(chǔ)數(shù)據(jù)的mongod們,它們按組分為若干個(gè)Replica Sets,用來(lái)存放mongos拆分下來(lái)的各個(gè)sharding。
2.配置推薦從配置各個(gè)Replica Sets開(kāi)始,一個(gè)Replica Set包含若干個(gè)mongod instance,基礎(chǔ)命令是:mongod --replSet %SETNAME% --shardsvr,同屬一個(gè)Replica Set的instance都使用同一個(gè)%SETNAME%,比如一個(gè)名為“set1”的Replica Set中有三臺(tái)服務(wù)器,分別名為“server1”,“server2”,“server3”,則在這三臺(tái)服務(wù)器上需要分別運(yùn)行命令:
server1: mongod --replSet set1 --shardsvr
server2: mongod --replSet set1 --shardsvr
server2: mongod --replSet set1 --shardsvr
啟動(dòng)mongod包含多個(gè)參數(shù),這個(gè)可以通過(guò)命令:mongod --help來(lái)查詢(xún),根據(jù)自己的需求修改,上面的為必要部分。
每個(gè)服務(wù)器都啟動(dòng)好mongod后,開(kāi)始進(jìn)行Replica Sets的初始化。
初始化的方法有多種,以下介紹比較方便的兩種:
(1)initiate(cfg),其中cfg由用戶(hù)編寫(xiě);
(2)initiate->add;
3.然后是啟動(dòng)config serve;
4.最后是啟動(dòng)mongs;
以上就是MongoDB Replica Sets和Auto Sharding配置的簡(jiǎn)單過(guò)程,本文就介紹到這里,希望本次的介紹能夠?qū)δ兴斋@!
當(dāng)前名稱(chēng):MongoDBReplicaSets和AutoSharding配置簡(jiǎn)介
URL標(biāo)題:http://fisionsoft.com.cn/article/ccoegee.html


咨詢(xún)
建站咨詢(xún)
