为了扩展主节点的读请求能力,DDS提供具备独立连接地址的只读节点,适合独立系统直连访问,以缓解大量读请求给主节点造成的压力。
在对数据库没有写请求,但是有大量读请求的应用场景下,数据库的主备节点可能难以承受读取压力,甚至对业务造成影响。为了分担主备节点的访问压力,您可以根据业务需求创建一个或多个只读节点,来满足大量的数据库读取需求,增加应用的吞吐量。
只读节点与备节点(Secondary)的区别
节点 | 说明 | 应用场景 |
---|---|---|
备节点 | 副本集备节点具有高可用保障,备节点和主节点组成高可用切换的能力,即某个主节点故障时,系统会自动切换流量至备节点。相应的,在主节点故障时,每个备节点均有可能被选举为新的主节点,来执行数据写入请求。 | 主备节点可以使用高可用地址连接实现全局读写分离,适用于读多写少的并发场景。从而在性能扩展的同时,屏蔽节点故障对业务带来的影响。 |
只读节点 | 副本集只读节点仅从主节点同步数据,不具备高可用保障,也不会被选举为主节点。只读节点具有独立的连接地址,适合独立系统直连访问,与已有副本集主备节点的连接互不干扰。 | 适合需要从现有实例中大量读取数据的业务场景。 |
功能限制
- 目前仅副本集实例支持挂载只读节点。
- 暂不支持创建带有只读节点的实例。
- DDS实例版本需为3.4、4.0及4.2版本。
- 只读节点仅供读取请求访问,不参与主备节点选举。
- 单个副本集实例中最多可以添加5个只读节点。
- 主节点和只读节点之间的数据复制方式为异步复制,存在秒级别的延迟。
功能特点
- 可以根据业务需求随时更改只读节点个数,节省业务成本。
- 与主节点采用一致规格,自动同步主节点的数据。
- 不占用主节点的资源,增减只读节点的操作不会对主节点的业务构成干扰。
- 提供独立的连接地址,适合独立系统及应用直连访问,与已有副本集实例主备节点的连接互不干扰。
- 提供只读节点系统性能监控。