这里主要讲 spring里面如何对mongodb怎么配置,至于mongodb副本集怎么搭建,有时间的话我再写一下
1.准备好3台主机,分别配置好mongodb的副本集
1:192.168.1.107
2:192.168.1.108
3: 192.168.1.109
搭建完后,建议用rs.status()看一下状态,我这里用的是datagrip工具软件
2.这样在spring 的yml文件中就可以设置成
spring:
data:
mongodb:
uri: mongodb://user04:123456@192.168.1.107:27017,192.168.1.108:27017,192.168.1.109:27017/mydata?authSource=admin&replicaSet=repl_0&w=majority&wtimeoutMS=5000&readConcernLevel=majority&readPreference=secondary&maxStalenessSeconds=120
这里 重点说一下
readPreference=secondary
主要是让程序实现读写分离,读优先去从节点上去读,提高效率
3.以上配置完好,还要配置mongodb的事务
注:mongodb单机版目前不支持事务喔,用的同学需注意
@Configuration
public class MongoConfig {
MongoTransactionManager transactionManager(MongoDatabaseFactory dbFactory) {
return new MongoTransactionManager(dbFactory);
}
}
4.写一段程序验证即可
@Override @Transactional(propagation = Propagation.REQUIRED) public void save(Person person) { person.setUserid(sid.nextShort()); person.setCreateTime(new Date()); person.setUpdateTime(new Date()); mongoTemplate.save(person); }