Docker mongo副本集環境搭建

一、MongoDB Docker 鏡像安裝mongodb

docker pull mongo

二、Docker容器建立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"

三、副本集配置數據庫

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);

三、正確鏈接複製集的姿式ide

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

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

四、經常使用鏈接參數code

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

如何限制鏈接數?
在options裏添加maxPoolSize=xx便可將客戶端鏈接池限制在xx之內。

如何保證數據寫入到大多數節點後才返回?
在options裏添加w= majority便可保證寫請求成功寫入大多數節點才向客戶端確認
相關文章
相關標籤/搜索