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便可保证写请求成功写入大多数节点才向客户端确认
相关文章
相关标签/搜索