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即可保證寫請求成功寫入大多數節點才向客戶端確認