gpt4 book ai didi

python - 在 MongoDB 中处理主从/主要和次要的查询

转载 作者:可可西里 更新时间:2023-11-01 10:44:40 26 4
gpt4 key购买 nike

我想使用 MongoDB 扩展读取。为此,我可以设置主从复制或副本集,但如果我像这样创建与 Mongo 的连接:

from pymongo import ReplicaSetConnection, ReadPreference
from pymongo.errors import ConnectionFailure

try:
connection = ReplicaSetConnection("somehost:10000", replicaSet='myapp_repl',
read_preference=ReadPreference.SECONDARY)
except ConnectionFailure ...

或:

from pymongo.master_slave_connection import MasterSlaveConnection
from pymongo.errors import ConnectionFailure

try:
master = Connection(host="somehost", port=10000)
slave1 = Connection(host="somehost", port=10001)
slave2 = Connection(host="somehost", port=10002)
connection = MasterSlaveConnection(master, slaves=[slave1, slave2])
except ConnectionFailure ...

pymongo 驱动程序将在副本集辅助/从属之间分发查询。在这种情况下,primary/master 不会处理查询,所以如果我有 2 个节点,我不会增强读取能力,因为只有 1 个节点会处理查询。如何让主从(主要和次要)都处理查询?

最佳答案

这有点 hack 但是:

connection = MasterSlaveConnection(master, slaves=[slave1, slave2, master)

不过 MasterSlaveConnection 已被弃用。

我不确定是否有任何其他方法可以解决此问题。

您可能想研究分片或添加仲裁器以在新初选中投票:http://www.mongodb.org/display/DOCS/Adding+an+Arbiter

关于python - 在 MongoDB 中处理主从/主要和次要的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10298507/

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