更新时间:2022-06-21 GMT+08:00

只读节点简介

为了扩展主节点的读请求能力,DDS提供具备独立连接地址的只读节点,适合独立系统直连访问,以缓解大量读请求给主节点造成的压力。

在对数据库没有写请求,但是有大量读请求的应用场景下,数据库的主备节点可能难以承受读取压力,甚至对业务造成影响。为了分担主备节点的访问压力,您可以根据业务需求创建一个或多个只读节点,来满足大量的数据库读取需求,增加应用的吞吐量。

只读节点与备节点(Secondary)的区别

节点

说明

应用场景

备节点

副本集备节点具有高可用保障,备节点和主节点组成高可用切换的能力,即某个主节点故障时,系统会自动切换流量至备节点。相应的,在主节点故障时,每个备节点均有可能被选举为新的主节点,来执行数据写入请求。

主备节点可以使用高可用地址连接实现全局读写分离,适用于读多写少的并发场景。从而在性能扩展的同时,屏蔽节点故障对业务带来的影响。

只读节点

副本集只读节点仅从主节点同步数据,不具备高可用保障,也不会被选举为主节点。只读节点具有独立的连接地址,适合独立系统直连访问,与已有副本集主备节点的连接互不干扰。

适合需要从现有实例中大量读取数据的业务场景。

功能限制

  • 目前仅副本集实例支持挂载只读节点。
  • 暂不支持创建带有只读节点的实例。
  • DDS实例版本需为3.4、4.0及4.2版本。
  • 只读节点仅供读取请求访问,不参与主备节点选举。
  • 单个副本集实例中最多可以添加5个只读节点。详情请参见添加副本集实例只读节点
  • 主节点和只读节点之间的数据复制方式为异步复制,存在秒级别的延迟。

功能特点

  • 可以根据业务需求随时更改只读节点个数,节省业务成本。
  • 与主节点采用一致规格,自动同步主节点的数据。
  • 不占用主节点的资源,增减只读节点的操作不会对主节点的业务构成干扰。
  • 提供独立的连接地址,适合独立系统及应用直连访问,与已有副本集实例主备节点的连接互不干扰。详情请参见通过Mongo Shell连接副本集实例只读节点
  • 提供只读节点系统性能监控。

计费标准

  • 当前实例新增只读节点后,只读节点的虚拟机和磁盘需要额外收费。
  • 单个只读节点的价格等同于副本集实例中单个节点、以及集群Shard节点中单个节点的价格。例如当前规格下,三节点副本集实例的售价为3,000美元,那么单个只读节点的价格即为1,000美元。