关于RDS数据库代理的使用问题和更多相关信息,欢迎加入用户钉钉群(106730000316)进行咨询、反馈和交流 。
什么是数据库代理?
数据库代理是位于数据库服务端和应用服务端之间的网络代理服务,用于转发应用服务端访问数据库时的所有请求,提供读写分离、事务拆分等高级功能,具有高可用、高性能、可运维、简单易用等特点。更多信息,请参见什么是数据库代理。
代理个数和代理规格是什么关系?
代理规格 = 单位代理规格 × 代理个数
例如,代理实例的代理个数为3 ,则对应的代理规格为2核 x 3 = 6核
。
代理个数用于计算最终数据库代理的性能规格,不代表实际代理个数。开通的数量越多,数据库代理可承担的数据库负载越高。
代理个数和代理连接地址个数有关系吗?
没有。
每个RDS PostgreSQL实例在开通数据库代理后,都可以申请1~7个代理连接地址(原代理终端),每个代理连接地址都可以申请1个内网地址和1个外网地址,更多信息,请参见新建数据库代理连接地址。
数据库代理是什么架构,有故障切换机制吗?
数据库代理采用双主节点的高可用架构,流量连接按照1:1比例分发到两个节点当中,如果其中一个节点发生故障,将由另一个节点承担全部流量,并会自动触发故障节点重搭恢复任务,以确保数据库服务的高可用性。
数据库代理的性能会随着代理连接地址个数(原代理终端)的增多而提升吗?
不会。数据库代理的性能与只读实例个数、代理个数(代理规格)相关:
数据库代理地址的前缀可以修改吗?
可以。
数据库代理地址的前缀和端口都可以修改,具体操作,请参见设置数据库代理连接地址。
数据库代理对用户的连接数有限制吗?支持多少并发连接?
数据库代理本身并没有最大连接数的限制,连接数的限制是由数据库中计算节点的规格决定。
当前数据库代理支持的连接数为min{主实例最大连接数, 只读实例最大连接数}
。
例如:主实例规格的最大连接数为1600,只读实例规格的最大连接数为800,则数据库代理支持的连接数为800。
如何使SQL读请求转发到主实例,不被数据库代理转发到只读实例?
您可以在读请求的SQL中加入/*FORCE_MASTER*/
,指定该请求被转发到主实例。如果需要转发到只读实例,则使用/*FORCE_SLAVE*/
。
示例:
/*FORCE_MASTER*/ SELECT * FROM table_name;
为什么修改后的读权重没有生效?
修改读权重后,新建的连接才会根据新权重进行分配,已存在的连接不会断开重连。
当故障实例恢复后,数据库代理需要多长时间可以正常提供服务?
数据库代理会实时监控实例健康状态,当实例故障时,将会在2秒内识别到故障实例,当实例恢复时,数据库代理即可正常提供服务。
如何查看专有网络类型的内网代理地址的vpc Id和vswitch Id?
在数据库代理页面,连接信息区域,找到目标内网地址,点击图标,即可查看。