在本页面
一个或多个副本集成员可以配置为
tags
:
对于读取操作,您可以在读取首选项中指定一个标签集,以帮助将读取操作定向到具有特定标签的成员。
对于写操作,可以使用标签创建自定义 写关注。
如果一个或多个副本集成员与关联
tags
,则可以在读取首选项中指定一个标记集以这些成员为目标。标签集是一组文档,其中每个文档都包含标签和值对。顺序尝试这些规格,直到找到匹配项。一旦找到,该规范将用于查找所有符合条件的匹配成员。
注意
指定读取首选项模式时,不能指定标签集
primary
。
例如,副本集具有以下副本集配置(为简洁起见,一些字段已省略):
将标签添加到成员。
将mongo
外壳连接到副本集,并用于
rs.reconfig()
向成员添加标签:
验证副本集配置。
在读取首选项中指定标签集。
要将读取操作定向到标记有特定标签的次级,在mongo
连接到副本集的外壳中,可以使用该readPref()
方法指定
读取首选项模式和标签集。例如,
直接读取操作与次级标记都
与包括以下标记集:"dc": "east"
"usage": "production"
要将读取操作定向到标记为的辅助节点,如果找不到,则定向为标记为的辅助节点
,请包含以下标记集:"dc":
"east"
"usage": "production"
也可以看看
如果一个或多个副本集成员与关联
tags
,则可以配置副本集的
settings.getLastErrorModes
设置以创建自定义写关注。
给定五个成员副本集,其中两个数据中心中的成员分别为:
VA
被标记的设施dc_va
CA
被标记的设施dc_ca
将标签添加到副本集成员。
将mongo
外壳连接到副本集,并用于
rs.reconfig()
向成员添加标签:
创建一个自定义写关注。
在副本集配置中,在设置中定义自定义写入关注点settings.getLastErrorModes
。例如,以下内容定义了自定义写入问题MultipleDC
,要求将写入传播到两个具有不同
dc_va
标签值的成员和一个具有任何dc_ca
标签值的成员。
注意
该MultipleDC
写担忧并不如果写传播满足两个成员具有相同"dc_va"
的标签。例如,如果写入仅传播到members[0]
和
members[4]
,则不满足,因为它们具有相同的tag值。"dc_va": 2
"rack1"
使用自定义写关注。
要使用定制写关注点,请将写关注点名称传递给写关注点中的w选项: