一、前提条件
已 开通数据库代理。
二、设置单个数据库代理连接地址
TDSQL-C MySQL 版在开通数据库代理后默认提供一个数据库代理连接地址,即开通数据库代理后已具备单个数据库代理连接地址,你可对其进行策略配置并挂载只读实例。
1. 登录 TDSQL-C MySQL 版控制台,在集群列表,选择已开启代理的集群,单击集群 ID,进入集群管理页面。
2. 在集群管理 > 集群详情下的拓扑图中,鼠标移动到数据库代理板块,然后单击详情进入数据库代理管理页面。或在集群管理页面直接选择数据库代理页进入数据库代理管理页面。
3. 在连接地址下找到目标访问地址,单击其操作列的调整配置。
4. 在跳转的窗口下,完成具体策略的配置,单击确定。
步骤1:配置策略
| 参数 | 说明 |
| 读写属性 | 选择此代理访问地址的读写属性,支持选择读写分离或只读,若选择读写分离,则自动开启读写分离功能。 |
| 网络转发 | 当读写属性设置为“只读”时,可设置是否启用网络转发。启用后数据库代理的连接地址为直连模式,可实现客户端到数据库节点的最短网络路径。详情请参见 网络转发功能。 |
| 接入模式 | 支持均衡分配和就近访问两种接入模式设置客户端到数据库代理的连接链路,详情请参考 接入模式。 |
| 一致性设置 | 在读写分离属性下提供了最终一致性、会话一致性和全局一致性三种一致性级别,满足你在不同场景下对一致性的要求,详情请参考 一致性级别。说明:一致性级别的变更仅针对新连接生效。若你需要立即重置连接让参数生效,可以使用重新负载均衡功能或者重启实例。 |
| 超时时间 | 若一致性设置为会话一致性或全局一致性,你需对读写实例和只读实例之间的数据复制设置超时时间,取值范围:0 – 1000000毫秒,设置为0,则表示若只读实例出现延迟,导致一致性策略不满足,请求将一直等待,设置为非0,如设置1000毫秒,则表示若只读实例出现延迟,超过设置的1000毫秒后,请求将由系统自动转发到主实例。注意,当前同一云账号下多个数据库代理实例不支持单独设置各自的超时时间,多个数据库代理实例的超时时间只能统一生效一份,单个数据库代理实例修改超时时间,会导致多个数据库代理实例的超时时间都统一修改。 |
| 自适应负载均衡 | 选择是否开启自适应负载均衡功能,开启后可以根据后端的负载情况,将请求路由到负载更低的实例上,以达到数据库实例负载均衡,详情请参见 自适应负载均衡。 |
| 连接池状态 | 连接池功能主要用于减少短连接业务频繁建立新连接带来的实例负载。此项开启,可选择支持的连接池类型,目前支持会话级连接池、事务级连接池。详情请参见 连接池概述。 |
| 连接池阈值 | 当连接池类型选择为“会话级连接池”时,设置连接池阈值,取值范围:0 – 300秒。 |
| 事务拆分 | 设置是否开启,开启后,在一个事务中拆分读和写到不同的实例上去执行,读请求转发到只读实例,降低主实例负载。详情请参见 事务拆分功能。 |
| 故障转移(读写属性为读写分离) | 设置是否开启,开启后,数据库代理出现故障时,连接地址将会路由到读写实例。 |
| 分析引擎故障转发(读写属性为读写分离) | 设置是否开启(数据库代理版本为1.4.5或以上版本才支持设置此项),开启后,当访问的只读分析引擎出现故障时,会自动根据规则转发到其他只读分析引擎,详细故障转发策略请参见 实例故障转发。 |
| 自动添加只读实例 | 设置是否开启,开启后,若你购买新的只读实例或者只读分析引擎,会自动添加到数据库代理中。当读权重为系统自动分配时,新购只读实例按照规格大小默认权重分配。当读权重为自定义时,新购只读实例默认加入时权重为0,可通过数据库代理页,连接地址下的调整配置来修改。 |
步骤2:配置权重
| 参数 | 说明 |
| 读权重分配 | 数据库代理需要将读请求分发给不同的实例。通过为各个实例分配不同的读权重,数据库代理可以根据实例的权重值来决定将请求路由到哪个实例。这里支持选择系统自动分配或自定义。若选择自定义分配,则支持对不同实例访问数据库的权重进行分别配置,以下是读权重分配时,启用和权重相关的说明:启用:开启按钮,表示所选实例会被分配连接,关闭启用按钮,表示所选实例不会被分配连接。权重:权重值的范围为0 – 100,设置为0表示所选实例会被分配连接且权重最小。数值越大,权重越大,可以接收到更多的读请求。设置完读权重分配后,读请求会按比例路由到对应实例。例如分别为实例1、实例2、实例3分配读权重值为3、2、1,表示来源于数据库代理连接地址的读请求,会按照3:2:1的比例分别路由到实例1、实例2、实例3。说明:此处的权重是面向读请求(非事务)权重的分配策略。只读分析引擎不支持权重修改,仅支持使用/*to server 实例 ID*/ 的 hint 语法进行强制指定转发执行。只读分析引擎的权重说明数据库代理中包含了只读分析引擎时,默认未指定 Hint 转发的 SQL 不会发送至只读分析引擎中。当存在多个只读分析引擎时,只读分析引擎的权重设置才会生效。注意:只有在1.4.5或以上版本的数据库代理中才支持只读分析引擎的权重设置。 |
| 统一权重管理 | 选择是否开启统一权重管理,开启统一权重管理后,未添加转发规则(Hint)的 SQL 会根据权重自动分配 SQL 到只读分析引擎中。此时只读分析引擎与普通的只读实例在一个负载均衡组中进行 SQL 转发。注意:只有在1.4.5或以上版本的数据库代理中此项才会显示。 |
三、设置多个数据库代理连接地址
注意:说明:
1. 登录 TDSQL-C MySQL 版控制台,在集群列表,选择已开启代理的集群,单击集群 ID,进入集群管理页面。
2. 在集群管理 > 集群详情下的拓扑图中,鼠标移动到数据库代理板块,然后单击详情进入数据库代理管理页面。或在集群管理页面直接选择数据库代理页进入数据库代理管理页面。
3. 在数据库代理管理页面,在连接地址后单击新增访问地址。
4. 在新建连接窗口,完成如下配置,单击确定。
步骤1:网络配置
| 参数 | 说明 |
| 网络类型 | 选择数据库代理的网络,仅支持私有网络 VPC,支持选择自动分配 IP 或指定 IP。 |
| 安全组 | 默认选择的安全组与主实例保持一致,也可根据需要选择已有安全组或新建安全组,支持多选安全组。注意:访问数据库代理需要开通配置安全策略,放通内网访问端口(当前内网端口为:3306),具体详见 安全组配置。 |
| 备注 | 非必填项,可为新增数据库代理连接地址进行备注。 |
步骤2:配置策略
具体选项和说明请参见 设置单个数据库代理连接地址中的步骤1:配置策略。
步骤3:配置权重
具体选项和说明请参见 设置单个数据库代理连接地址中的步骤2:权重配置。
四、相关 API
| API | 描述 |
| 创建数据库代理连接点 | 本接口(CreateProxyEndPoint)用于创建数据库代理连接点。 |