首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB:如何确保从碎片集群中读取特定的辅助数据?

MongoDB:如何确保从碎片集群中读取特定的辅助数据?
EN

Stack Overflow用户
提问于 2018-10-16 19:01:01
回答 1查看 505关注 0票数 0

这里,我有一个带有两个配置服务器的mongo集群设置,两个碎片每个都有3个节点和一个mongos服务器。例如:

Config服务器 IP1 configsvr1 IP2 configsvr2

Shard 1 IP3 shardsvr1 (小学) IP4 shardsvr2 (二级) IP5 shardsvr3 (二级)

Shard 2 IP6 shardsvr4 (小学) IP7 shardsvr5 (二级) IP8 shardsvr6 (二级)

IP9芒果

现在,是否可以在每个碎片的特定节点上进行所有读取操作-

所有读取操作都应该在节点'shardsvr3‘上的shard 1和shardsvr6上的shard 2中执行。

请分享你的想法!

提前谢谢你,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-29 06:51:00

经过研究,我了解到在特定的辅助节点上执行所有读取操作是可能的。

下面是几个步骤-

  • 将标记添加到辅助节点conf = rs.conf() conf.members.tags = {"use":"production“} rs.reconfig(conf)
  • 设置读首选项辅助db.getMongo().setReadPref(‘备用’)
  • 现在通过在查询字符串中传递标记来查询

使用spring-数据-mongodb

.serverSelectionTimeout(serverSelectionTimeoutInterval) .readPreference(TaggableReadPreference.secondary(new TagSet(createTagList() .build();

返回新MongoClient(新ServerAddress(主机、端口)、ServerAddress databaseName、dbPassword.toCharArray())、mongoClientOptions;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52842325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档