docker-compose部署mongodb4.4.8副本集群 + 权限 + springBoot集成测试

3种集群模式参考链接:http://c.biancheng.net/view/6567.html

MongoDB 有三种集群部署模式

分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。

  • Master-Slaver 是一种主从副本的模式,目前已经不推荐使用。
  • Replica Set 模式取代了 Master-Slaver 模式,是一种互为主从的关系。Replica Set 将数据复制多份保存,不同服务器保存同一份数据,在出现故障时自动切换,实现故障转移,在实际生产中非常实用。
  • Sharding 模式适合处理大量数据,它将数据分开存储,不同服务器保存不同的数据,所有服务器数据的总和即为整个数据集。

Sharding 模式追求的是高性能,而且是三种集群中最复杂的。在实际生产环境中,通常将 Replica Set 和 Sharding 两种技术结合使用。

在实际生产环境中,副本集和分片是结合起使用的,可满足实际应用场景中高可用性和高可扩展性的需求。
但是对于我来说,目前只需要用到副本集集群做到故障自动切换、实现高可用,以及支持多文档事务操作即可;

搭建实操

整体集群模式实战参考链接:

Linux:http://c.biancheng.net/view/6568.html

docker:https://segmentfault.com/a/1190000039142073

副本集搭建

docker-compose部署参考链接:

https://www.cnblogs.com/ricklz/p/13237419.html

http://monkeywie.cn/2020/03/10/mongodb-replica-set/?utm_source=tuicool&utm_medium=referral

搭建过程

# 创建挂载需要用到的文件夹(可自定义路径)
# 线上最好分不同的机器搭建,我测试暂时搭建在一台机器上
mkdir -p /ecsmount/docker/mongo-replica-cluster/{mongo-replica-1/{data/db,conf},mongo-replica-2/{data/db,conf},mongo-replica-3/{data/db,conf}}

# 生成auth.key, 用于多节点之间的认证
cd /ecsmount/docker/mongo-replica-cluster
openssl  rand -base64  756  > ./auth.key
# 权限设置,为必要步骤
# chown mongodb:mongodb ./auth.key
chown systemd-bus-proxy:ssh_keys ./conf/auth.key
chmod 400 ./auth.key  

cp ./auth.key  ./mongo-replica-1/conf
cp ./auth.key  ./mongo-replica-2/conf
cp ./auth.key  ./mongo-replica-3/conf
rm -rf ./auth.key

分别写三个 docker-compose.yml

version: '3.6'
services:
  mongo-replica-1:
    restart: always
    # build: .
    image: mongo:4.4.8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值