只读实例概述

最近更新时间:2023-11-23 10:13:21

我的收藏
云数据库 PostgreSQL 支持用户创建一个或多个只读实例,以支持用户的读写分离和一主多从应用场景,可显著提高用户数据库的读负载能力。
目前暂不支持统一读写分离地址,即自动分离读请求与写请求。只读实例可以通过单独的 IP、PORT 来访问,也可以将只读实例分配至只读实例组中进行统一的负载均衡。
说明:
只读实例费用请参见 产品定价
单次可创建1个只读实例,最高可以创建六个只读实例。
配置两个以上的只读实例,避免只读实例单点故障后导致业务访问失败。
只读实例无高可用能力,建议使用只读实例组,只读组中只有一个只读实例的情况会存在单点风险,且此只读组不会计入云数据库 PostgreSQL 服务的整体可用性计算中,单个只读实例不提供可用性 SLA 保证,建议只读组中至少选购2个只读实例,来保证只读组的可用性。

基本概念

只读实例组:带有负载均衡功能的只读实例(RO)组。若只读实例组内有多个只读实例,可将用户读请求量均匀分配到组内的每个只读实例上。且 RO 组会对外提供 IP、PORT 供访问数据库。
只读实例:可以支持读请求的单节点(无从机)实例。只读实例无法单独存在,每个只读实例都属于某个主实例。

基础架构

只读实例采用 PostgreSQL 流复制机制,将主实例(源数据库)的更改同步到所有只读实例中。只读实例均采用单节点(不含备机)架构,若只读实例宕机,我们将不断的尝试恢复,若需要更高的可用性,您可以选择 RO 组。



功能限制

只读实例最低硬盘规格必须大于或等于主实例已使用存储规格。
一个主实例最多可以创建6个只读实例。
不支持备份以及回档功能。
不支持数据迁移至只读实例。
不支持创建/删除数据库。
不支持创建/删除账号,不支持为账号授权以及修改账号及密码。

注意事项

只读实例无需维护账号与数据库,均从主实例同步。
由于数据同步有延迟,多个只读实例之间可能存在少量数据不一致的情况。各只读实例与主实例之间的同步时延可在控制台查看,并可设置腾讯云可观测平台告警。
只读实例的实例规格可以与主实例不一致,方便用户根据负载情况升级。建议同一 RO 组内的只读实例的实例规格保持一致。
当主库实例写入太过频繁,超过了日志自动清理阈值时,日志将自动进行删除,此时从库若未获取到已经删除的日志,主从复制将会断开,同时也会自动重建只读实例,只读实例将无法访问。
只读实例无高可用能力,建议使用只读实例组,配置两个以上的只读实例,避免只读实例单点故障后导致业务访问失败。

操作步骤

1. 登录 PostgreSQL 控制台,在实例列表,单击实例 ID操作列的管理进入实例管理页面。
2. 在实例详情页,单击实例架构图中的添加只读实例,或在只读实例页,单击新建,进入购买页。


3. 在购买页,选择只读实例的相应配置,确认无误后,单击立即购买
说明:
如需统一只读实例与主实例的到期时间,可在 续费管理控制台 设置统一到期日,具体操作步骤请参见 统一到期日
指定RO组:支持不分配RO组、新建RO组、已有RO组。
新建RO组:若一次购买多个实例,将都分配至这个 RO 组。RO 组仅支持系统自动分配读权重,RO 组中的所有只读实例流量分配将根据读权重值来自动分配。请参见 创建只读实例 RO 组
已有RO组:指定一个已有 RO 组,若一次购买多个实例,将都分配至这个 RO 组。
延迟超限剔除:开启延迟剔除功能后,可根据配置的延迟大小来决定只读实例是否从 RO 组中剔除。延迟大小是指主实例与只读实例之间数据同步的日志大小差异,配置粒度为MB。
可用区:可选择与主实例同地域下的所有可用区。
4. 购买完成后,返回实例列表,待实例状态变为运行中,即可正常使用。