什么是数据库代理
网站编辑2022-08-17 15:33:06413
什么是数据库代理?RDS MySQL数据库代理又分独享代理和共享代理,是位于数据库服务端和应用服务端之间的网络代理服务,用于代理应用服务端访问数据库时的所有请求,具有高可用、高性能、可运维、简单易用等特点。独享代理还提供自动读写分离、事务拆分、连接池等高级功能。
适用场景
事务内有大量请求,导致主实例负载过高的场景。连接数过多导致主实例负载过高的场景。
短连接为主的业务。
纯只读和有隔离需求的业务。
代理终端简介
代理终端是数据库独享代理的核心,是阿里云自主研发的可自定义连接地址功能,RDS MySQL实例中最多支持7个代理终端,您可以修改各代理终端的读写属性来满足不同的业务场景,增强业务的灵活性。读写属性说明
每个代理终端都可以分别设置各自的读写属性。
读写:用来支持读写分离功能实现业务线性扩展。
该模式下创建的代理终端中至少包含一个主实例和一个只读实例,写请求都只会发往主实例。支持如事务拆分、连接池等读写分离功能。
只读:用来支持只读的业务,比如报表。
该模式下创建的代理终端中至少包含一个只读实例,主实例不会参与路由,不支持事务拆分、连接池等功能。
当代理终端的读写属性设置为只读时,RDS会根据代理终端下配置的只读实例轮循分配连接,即一个客户端连接仅对应到一个只读实例的一个连接,而主实例不会参与到该分配,可用的业务连接总数是所有只读实例上的连接数之和。
功能概览
数据库代理包含如下功能:代理服务:在代理服务总览页面,可以进行升级独享代理小版本、新增连接地址等操作。

通过独享代理地址(读写分离地址)实现读写请求的自动转发。更多信息,请参见什么是读写分离。
连接池:有效解决连接数过多或短连接业务(例如PHP)频繁建立新连接导致实例负载过高的问题。
事务拆分:将事务内写操作之前的读请求转发到只读实例,降低主实例负载。
监控数据:使用独享代理时,您可以随时查看独享代理的CPU使用率,了解独享代理的负载情况,以便及时调整代理数量。
SSL:对独享代理连接地址进行SSL加密,可以保证数据的传输安全。







