读取偏好
Overview
您可以为 链接的MongoDB Atlas 群集 配置 读取偏好(read preference) ,以控制Atlas App Services将数据库读取请求路由到的 副本集 节点的类型。您还可以指定标签集来定位副本集的特定成员。
您无法在联合数据源上设置读取偏好(read preference)。
默认情况下, Atlas App Services使用读取偏好 primary
,即通过副本集的主节点路由所有读取请求。
何时指定读取偏好(read preference)
对于大多数使用案例, 默认的读取偏好(read preference) ( primary
) 应足够。当需要执行以下操作时,请考虑指定集群读取偏好(read preference):
从具有自定义配置的特定从节点读取,例如具有针对报告工作负载而优化的特殊索引的分析节点。
从全球分布的副本集的特定地区中的节点读取。
在副本集故障转移期间保持读取可用性,即在没有
primary
节点时继续读取可能过时的数据。
步骤
指定读取偏好(read preference)标签
如果指定primary
以外的读取偏好(read preference),则还可以指定一个或多个读取偏好(read preference)标记。 要提供服务读取请求,副本集成员必须在其节点配置中包含所有指定的读取偏好(read preference)标签。
要指定读取偏好标签,请单击Add Tag ,然后在Read Preference Tags表的新行中输入标签的Key和Value 。
拉取最新版本的应用程序
要使用App Services CLI定义关联集群的读取偏好(read preference),您需要应用程序配置文件的本地副本。
要提取最新版本应用的本地副本,请运行以下命令:
appservices pull --remote="<Your App ID>"
提示
您还可以从 App Services 用户界面的Deploy > Export App屏幕下载应用程序配置文件的副本。
指定集群读取偏好(read preference)
要为关联集群配置读取偏好(read preference),请打开集群的config.json
文件并设立config.readPreference
的值:
{ "name": "<MongoDB Service Name>", "type": "mongodb-atlas", "config": { "readPreference": "<Read Preference Mode>" } }
以下读取偏好模式可用:
指定读取偏好(read preference)标签
如果指定primary
以外的读取偏好(read preference),则还可以指定一个或多个读取偏好(read preference)标签。 要提供服务读取请求,副本集成员必须在其节点配置中包含所有指定的读取偏好(read preference)标签。 要为集群指定读取偏好(read preference)标签集,请确保您指定了除primary
readPreference
然后将一个或多个标签定义对象添加到config.readPreferenceTagSets
:
{ "name": "<MongoDB Service Name>", "type": "mongodb-atlas", "config": { "readPreference": "<Read Preference Mode (other than primary)>", "readPreferenceTagSets": [ { <Tag Key>: <Tag Value> }, ... ], } }