gpt4 book ai didi

mongodb - 从 mongo 副本集中的特定节点读取数据

转载 作者:可可西里 更新时间:2023-11-01 10:00:25 24 4
gpt4 key购买 nike

我有一个包含三个成员的副本集。有没有可能我只想从两个辅助节点之一读取数据?我使用以下代码,其中 ip 是次要节点之一,但我仍然看到流量已部署到其他节点。

Mongo mongo = new MongoClient("171.21.43.34");

最佳答案

最好的方法是使用 mongodb 手册中所述的标签。

https://docs.mongodb.com/manual/tutorial/configure-replica-set-tag-sets/

conf = rs.conf()
conf.members[0].tags = { "offline": "false"}
conf.members[1].tags = { "offline": "false"}
conf.members[2].tags = { "offline": "true"}
rs.reconfig(conf)

在客户端中,您只需将 readpreference 设置为该标签

    MongoClientOptions options = MongoClientOptions
.builder()
.connectionsPerHost(config.connectionLimit)
.readPreference(TaggableReadPreference.secondaryPreferred(new TagSet(new Tag("offline", "true"))))
.socketTimeout(config.socketTimeout)
.connectTimeout(config.connectionTimeout)
.build();
mongo = new MongoClient(NewsDAOConfig.parseAddresses(config.mongoAddress), options);

关于mongodb - 从 mongo 副本集中的特定节点读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36297633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com