簡體   English   中英

如何強制輕便摩托車從延遲運行的 Mongo 輔助副本集成員讀取

[英]How to force moped to read from Mongo secondary replica set member running with a delay

我有一個基於 ruby​​ on rails 的應用程序。 目標是從一個 mongo 副本集成員讀取:

  1. secondary
  2. delayed by x seconds
  3. priority: 0
  4. 放置在單獨的數據中心。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM