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

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

只读节点结构图

只读节点结构图

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

节点 说明 适用场景
从节点 副本集从节点具有高可用保障,即某个从节点故障时,系统会自动切换流量至隐藏节点,保障服务不受影响。相应的,在主节点故障时,每个从节点均有可能被选举为新的主节点,来执行数据写入请求。 主从节点可以使用Connection String URI连接实现全局读写分离,适用于读多写少的并发场景。从而在性能扩展的同时,屏蔽节点故障对业务带来的影响。
只读节点 副本集只读节点仅从主节点同步数据,不具备高可用保障,也不会被选举为主节点。只读节点具有独立的连接地址,适合独立系统直连访问,与已有副本集主从节点的连接互不干扰。 适合需要从现有实例中大量获取数据的业务场景。如BI分析等分析用平台的场景。

功能限制

  • 目前只读节点仅支持MongoDB副本集实例。
  • 只读节点仅供读取请求访问,不参与主从节点选举。
  • 一个实例最多可以添加5个只读节点。
  • MongoDB副本集实例需为3.4及以上版本。

功能优势

  • 可以根据业务需求随时更改只读节点个数,节省业务成本。
  • 提供独立的连接地址,适合独立系统及应用直连访问,与已有副本集实例主从节点的连接互不干扰。
  • 与主从节点采用一致规格,自动同步主节点的数据,免去维护的烦恼。
  • 提供统一的只读地址串联所有只读节点,您只需添加只读节点的个数即可扩展数据库的处理能力,应用程序无需做任何修改。

价格

单个只读节点的价格和副本集实例中单个节点的价格一致。

例如当前规格下,三节点副本集实例的售价为3,000元,那么单个只读节点的价格即为1,000元。