在Springboot使用mongodb的过程中,mongodb默认是使用的读操作都是由主节点处理模式,相关阅读:https://blog.youkuaiyun.com/leining_chris/article/details/47312645
https://my.oschina.net/u/2366460/blog/871707
https://mongodb.github.io/mongo-java-driver/4.1/driver/tutorials/perform-read-operations/
但是如果读写压力全部在主节点的话,会给主节点造成压力。所以配置的时候需要考虑读从备份节点读取
配置方式如下:
spring:
data:
mongodb:
uri: mongodb://${mongo.username}:${mongo.password}@${mongodb.address}${mongodb.options:}
database: database
authentication-database: admin
Spring boot 中配置使用mongodb的uri的方式来拆解参数进行配置的,具体可以看mongo的源码,com.mongodb.ConnectionString
在这个类中实现了对 uri的拆解逻辑,区分出host,username,password,以及translateOptions,关于读偏好,在createReadPreference这个方法中获取偏好设置。

关于readPreference这里的值的已经做了关于大小写的兼容,在com.mongodb.ReadPreference类中有处理,所以可以查看这个类中valueOf(String) 来了解关于大小写兼容的处理逻辑

本文介绍在SpringBoot中如何配置MongoDB实现读写分离,减轻主节点压力。通过设置URI参数,使读操作从备份节点执行,提高系统整体性能。
4181

被折叠的 条评论
为什么被折叠?



