spring-boot-starter-data-mongodb 配置副本集读写分离、故障转移等

一、为什么需要 MongoDB 副本集配置

副本集配置为数据库提供了高可用的保证,mongodb 副本集能够支持在主节点宕机的情况进行自动选主、同时利用多个从节点进行数据冗余,达到数据热备份的作用,同时由于数据同步,可支持读写分离。

二、如何配置读写分离

通过 uri 参数进行配置,代码如下:

spring:
	data:
		mongodb:
			uri: mongodb://username:password@ip1:port,ip2:port,ip3:port/db?slaveOk=true&replicaSet=rs&write=1&readPreference=secondaryPreferred

其中 readPreference 为读操作模式,支持以下参数:

  • primary:默认模式,读操作只在主节点,如果主节点不可用则报错。
  • primaryPreferred:读操作只在主节点,如果主节点不可用,则读取从节点。
  • secondary:读操作只在从节点,如果从节点不可用则报错。
  • secondaryPreferred:读操作只在从节点,所有从节点不可用时,读取主节点。
  • nearest:读操作只在最邻近的节点。

三、实际使用中需要注意的问题

注意以下几点:1. 事务操作仅支持在主节点模式。2. 读写分离常见问题,写后立刻取则有可能取到的数据为空。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值