MongoDB Replica Sets 簡(jiǎn)明搭建教程
無(wú)論我們學(xué)習(xí)什么語(yǔ)言,能打出一個(gè)Hello World成為了我們的第一步。而今天這個(gè)例子,相當(dāng)于是MongoDB Replica Sets搭建的Hello World。代碼如下:
下面是在Replica Sets上做操作后調(diào)用getlasterror使寫(xiě)操作同步到至少3臺(tái)機(jī)器后才返回。
db.runCommand( { getlasterror : 1 , w : 3 } )
開(kāi)始搭建,啟動(dòng)三個(gè)mongod server:- mongod --replSet prod --port 27017 --dbpath /data/node1
- mongod --replSet prod --port 27027 --dbpath /data/node2
- mongod --replSet prod --port 27037 --dbpath /data/node3
- 進(jìn)行其中一個(gè)mongod,完成相關(guān)的配置
- replica_config = {_id: 'prod', members: [
- {_id: 0, host: 'localhost:27017'},
- {_id: 1, host: 'localhost:27027'},
- {_id: 2, host: 'localhost:27037'}]}
- #Now initiate the replica_config
- rs.initiate(replica_config);
復(fù)制代碼 ruby客戶端代碼:- #!/usr/bin/env ruby
- require 'mongo'
- begin
- @connection = Mongo::Connection.multi([
- ['localhost',27017],
- ['localhost',27027],
- ['localhost',27037]])
- @collection = @connection.db("sales").collection("products")
- product = { "name" => "Refactoring",
- "code" => "023XX3",
- "type" => "book",
- "in_stock" => 100}
- @collection.insert(product)
- 100.times do
- sleep 0.5
- begin
- product = @collection.find_one "code" => "023XX3"
- puts "Found Book: "+product["name"]
- rescue Exception => e
- puts e.message
- next
- end
- end
- end
復(fù)制代碼 原文鏈接:《Replicas Sets In MongoDB》
|