云数据库 PostgreSQL 支持用户创建一个或多个只读实例,以支持用户的读写分离和一主多从应用场景,可显著提高用户数据库的读负载能力。
目前暂不支持统一读写分离地址,即自动分离读请求与写请求。只读实例可以通过单独的 IP、PORT 来访问,也可以将只读实例分配至只读实例组中进行统一的负载均衡。
基本概念
只读实例组:带有负载均衡功能的只读实例(RO)组。若只读实例组内有多个只读实例,可将用户读请求量均匀分配到组内的每个只读实例上。且 RO 组会对外提供 IP、PORT 供访问数据库。
只读实例:可以支持读请求的单节点(无从机)实例。只读实例无法单独存在,每个只读实例都属于某个主实例。
基础架构
只读实例采用 PostgreSQL 流复制机制,将主实例(源数据库)的更改同步到所有只读实例中。只读实例均采用单节点(不含备机)架构,若只读实例宕机,我们将不断的尝试恢复,若需要更高的可用性,您可以选择 RO 组。
功能限制
只读实例最低硬盘规格必须大于或等于主实例已使用存储规格。
一个主实例最多可以创建6个只读实例。
不支持备份以及回档功能。
不支持数据迁移至只读实例。
不支持创建/删除数据库。
不支持创建/删除帐号,不支持为帐号授权以及修改帐号及密码。
注意事项
只读实例无需维护帐号与数据库,均从主实例同步。
由于数据同步有延迟,多个只读实例之间可能存在少量数据不一致的情况。各只读实例与主实例之间的同步时延可在控制台查看,并可设置云监控告警。
只读实例的实例规格可以与主实例不一致,方便用户根据负载情况升级。建议同一 RO 组内的只读实例的实例规格保持一致。
当主库实例写入太过频繁,超过了日志自动清理阈值时,日志将自动进行删除,此时从库若未获取到已经删除的日志,主从复制将会断开,同时也会自动重建只读实例,只读实例将无法访问。
只读实例无高可用能力,建议使用只读实例组,配置两个以上的只读实例,避免只读实例单点故障后导致业务访问失败。
操作步骤
2. 在实例详情页,单击实例架构图中的添加只读实例,或在只读实例页,单击新建,进入购买页。
3. 在购买页,选择只读实例的相应配置,确认无误后,单击立即购买。
指定RO组:支持不分配 RO 组、新建 RO 组、已有 RO 组。
新建 RO 组:若一次购买多个实例,将都分配至这个 RO 组。RO 组仅支持系统自动分配读权重,RO 组中的所有只读实例流量分配将根据读权重值来自动分配。请参见 创建只读实例 RO 组。 已有 RO 组:指定一个已有 RO 组,若一次购买多个实例,将都分配至这个 RO 组。
延迟超限剔除:开启延迟剔除功能后,可根据配置的延迟大小来决定只读实例是否从 RO 组中剔除。延迟大小是指主实例与只读实例之间数据同步的日志大小差异,配置粒度为 MB。
可用区:可选择与主实例同地域下的所有可用区。
4. 购买完成后,返回实例列表,待实例状态变为运行中,即可正常使用。
本页内容是否解决了您的问题?