gpt4 book ai didi

ruby-on-rails - 如何强制轻便摩托车从延迟运行的 Mongo 辅助副本集成员中读取

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

我有一个基于 ruby​​ on rails 的应用程序。目标是从一个 mongo 副本集成员读取:

  1. 中学
  2. 延迟 x 秒
  3. 优先级:0
  4. 放置在单独的数据中心。

详情:我有一个正在运行的生产集群,它使用 mongo 副本集。

以前,有人注意到,有时 Moped 从具有高延迟的其他辅助设备(远程存在于其他数据中心)而不是从所需的辅助设备读取。为了解决同样的问题,我们在远程辅助服务器上添加了延迟。

现在我有了一个使用 mongoid 的全新分析应用程序。有没有一种方法可以使用 mongoid 或任何其他 gem 从 SPECIFIC secondary 强制读取?即有没有办法覆盖 Mongoid/Moped/MongoDB 中的自动发现功能?请建议

最佳答案

您可以使用 tag_sets。在Mongoid config documentation你可以看到,在 'read' 设置下,你可以指定分配给你想要显式读取的辅助节点的 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 的方式 is documented here

希望对您有所帮助。这是一个非常先进和强大的功能,但并不是每个人都知道如何使用。

关于ruby-on-rails - 如何强制轻便摩托车从延迟运行的 Mongo 辅助副本集成员中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36354762/

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