建立:
我有一个PRIMARY和两个SECONDARY mongodb实例.其中一个辅助实例与我的Web应用程序托管在同一区域中.
我正在使用pymongo进行连接.
查询:
如何以较低的延迟连接到SECONDARY.
目前我这样做:
from pymongo import ReplicaSetConnection
from pymongo import ReadPreference
db = ReplicaSetConnection('localhost:27017', replicaSet='rs1')['my_db']
db.read_preference = ReadPreference.SECONDARY
Run Code Online (Sandbox Code Playgroud)
我得到了SECONDARY的任何一个连接.如何强制以较低的延迟从实例获取连接
谢谢!!
阅读偏好如下:
所以对于最近的中学而言,没有具体的.您可以通过组合NEAREST和tag_sets并标记辅助节点来实现此目的.
然后,如果二级标记被标记,{'secondaries': 1}您可以从最近的二级读取,如下所示:
from pymongo import ReplicaSetConnection
from pymongo import ReadPreference
db = ReplicaSetConnection('localhost:27017', replicaSet='rs1')['my_db']
db.read_preference = ReadPreference.NEAREST
db.tag_sets = [{'secondaries': 1}]
Run Code Online (Sandbox Code Playgroud)
您应该注意,如果发生选举并且复制集的拓扑发生更改,则您必须手动更改tag_sets以表示新的辅助节点.
| 归档时间: |
|
| 查看次数: |
3962 次 |
| 最近记录: |