MongoDB集群及客户端读写分离实现

部署MongoDB集群服务
./mongod --fork --port=27018 --dbpath=../db_log/db0/ --logpath=../logs/db0.log --logappend --replSet log
./mongod --fork --port=27019 --dbpath=../db_log/db1/ --logpath=../logs/db1.log --logappend --replSet log
config={_id : 'log',members : [{_id : 0, host : '172.16.3.42:27018', priority : 1},{_id : 1, host : '172.16.3.42:27019'}]}
rs.initiate(config)


使用spring配置文件注入Mongo对象
<mongo:mongo id="mongo" replica-set="172.16.3.42:27018">
 <mongo:options auto-connect-retry="true" slave-ok="true"/>
</mongo:mongo>

创建MongoTemplate对象
// 如果不用List的话,是不会在从节点进行读取的
Mongo mongo = new Mongo(Arrays.asList(new ServerAddress(server.getLog4mongoIp(), server.getLog4mongoPort())));
mongo.setReadPreference(ReadPreference.secondaryPreferred());
MongoDbFactory factory = new SimpleMongoDbFactory(mongo, server.getLog4mongoDbName());
MongoTemplate mongoTemplate = new MongoTemplate(factory);
return mongoTemplate;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值