【问题标题】:how to understand read preferences in mongo如何理解 mongo 中的阅读偏好
【发布时间】:2023-03-26 09:00:02
【问题描述】:

我刚刚开始使用 mongoDB。我试图了解如何设置我的辅助数据库服务器,以便在没有主数据库时,可以使用辅助数据库来读取数据。我相信我想要的阅读偏好是preferredPrimary。

现在我有点了解我想测试哪些读取偏好,我正在尝试了解如何为preferredPrimary 设置我的副本集。 我一直在阅读以下文档:

http://docs.mongodb.org/manual/tutorial/configure-replica-set-tag-sets/

问题:

  1. 这是设置阅读首选项的正确文档吗?
  2. 假设是这样,我想验证标签名称/值是否是我想出的?所以具体来说,示例“dc”中使用的键不是 mongo 中的关键字。那是对的吗?
  3. 一旦我设置了这些标签,在我的客户端中,当我连接到 mongo 数据库时,我必须指定任何设置吗?我正在使用 php 前端,我发现了这个: http://php.net/manual/en/mongodb.setreadpreference.php
  4. 你能确认这些标签替换了 rs.slaveOK() 方法吗?

环境:

  • mongoDB 2.6.5 版
  • 具有 3 个成员的副本集 - 一个主服务器和 2 个辅助服务器

【问题讨论】:

    标签: mongodb replication database-replication failover


    【解决方案1】:
    1. 是的
    2. 是的
    3. 是的,但您提供的链接仅用于 readPreference 您还需要提供自定义 writeConcern(从问题中的链接中提取):

      db.users.insert( { id: "xyz", status: "A" }, { writeConcern: { w: "MultipleDC" } } )

    查看 php 驱动程序文档如何做到这一点。

    1. 是的,在这种情况下,您可以跳过对 slaveOK 的调用(尤其是在 95% 的情况下,您将从主节点读取数据)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      相关资源
      最近更新 更多