![](/img/trans.png)
[英]Could not connect to a primary node for replica set <Moped::Cluster nodes=[<Moped::Node resolved_address=“127.0.0.1:27017”>]>
[英]How to force moped to read from Mongo secondary replica set member running with a delay
我有一個基於 ruby on rails 的應用程序。 目標是從一個 mongo 副本集成員讀取:
secondary
delayed by x seconds
priority: 0
DETAILS
:我有一個使用 mongo 副本集運行的生產集群。
以前,人們注意到有時 Moped 從具有高延遲的其他輔助節點(遠程存在於其他數據中心)而不是從所需的輔助節點讀取。 為了解決同樣的問題,我們在遠程輔助節點上添加了延遲。
現在我有一個使用 mongoid 的新分析應用程序。 有沒有辦法可以使用 mongoid 或任何其他 gem 從 SPECIFIC 二級強制讀取? 即有沒有辦法覆蓋 Mongoid/Moped/MongoDB 中的自動發現功能? 請建議
您可以使用 tag_sets。 在Mongoid 配置文檔中,您可以看到,在“讀取”設置下,您可以指定分配給要顯式讀取的輔助節點的 tag_set:
# Change the default read preference. Valid options for mode are: :secondary,
# :secondary_preferred, :primary, :primary_preferred, :nearest
# (default: primary)
read:
mode: :secondary_preferred
tag_sets:
- use: web
您在副本集中配置 tag_sets 的方式記錄在此處
我希望這可以幫助你。 這是一個非常先進和強大的功能,並不是每個人都知道如何使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.