Docker mongo副本集環境搭建

1、MongoDB Docker 鏡像安裝

docker pull mongo

2、Docker容器創建

MongoDB Docker 容器創建有以下幾個問題:
1- MongoDB 容器基本創建方法和數據目錄掛載
2- MongoDB 容器的數據遷移
3- MongoDB 設置登錄權限問題

docker run -p 27017:27017 -v <LocalDirectoryPath>:/data/db --name docker_mongodb -d mongo --replSet "rs"

3、副本集配置

config = { _id:"rs", members:[
     {_id:0,host:"192.168.1.136:27017"},
     {_id:1,host:"192.168.1.137:27017"},
     {_id:2,host:"192.168.1.138:27017"}]
 }
rs.initiate(config);

3、正確連接複製集的姿勢

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

mongodb:// 前綴,代表這是一個Connection String
username:password@ 如果啓用了鑑權,需要指定用戶密碼
hostX:portX 複製集成員的ip:port信息,多個成員以逗號分割
/database 鑑權時,用戶帳號所屬的數據庫
?options 指定額外的連接選項

4、常用連接參數

如何實現讀寫分離?
在options裏添加readPreference=secondaryPreferred即可實現,讀請求優先到Secondary節點,從而實現讀寫分離的功能

如何限制連接數?
在options裏添加maxPoolSize=xx即可將客戶端連接池限制在xx以內。

如何保證數據寫入到大多數節點後才返回?
在options裏添加w= majority即可保證寫請求成功寫入大多數節點才向客戶端確認
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章