背景
RO 组是只读实例的集合,可以设置其中只读实例的权重进行流量负载均衡,为数据库创建1个或多个只读实例 RO 组。根据需要部署 RO 组,将相应的读请求按一定规则发送到只读实例,能够显著提高数据库的读负载能力。TDSQL-C MySQL 版数据库代理支持设置多个数据库代理连接地址,不同地址能够分别挂载不同的只读实例,在业务应用侧根据需要,对同一集群关联多个数据库代理连接地址,即可实现传统数据库的多 RO 组场景,并具备更多优势。
![](https://qcloudimg.tencent-cloud.cn/image/document/20fb79e00610b42bd95c4d46981625a0.png)
传统数据库多 RO 组
示例:
主实例【连接地址】:10.0.1.22:3306。
RO 组【连接地址 A】:10.0.1.78:3306,挂载的 RO 实例为:RO1。
RO 组【连接地址 B】:10.0.1.80:3306,挂载的 RO 实例为:RO2、RO3。
多数据库代理连接地址
示例:
数据库代理【连接地址 A】:172.20.0.10:3306,挂载的 RO 实例为:RO1。
数据库代理【连接地址 B】:172.20.0.12:3306,挂载的 RO 实例为:RO2、RO3。
说明:
以上主实例的 IP 地址、RO 组内网地址、数据库代理连接地址均为示例,不提供访问连接服务。
TDSQL-C MySQL 版开通数据库代理后,可设置多个数据库代理连接地址,不同连接地址下分别挂载不同的只读实例以实现传统数据库的多 RO 组场景(数据库代理连接地址 A 相当于传统数据库 RO 组连接地址 A,数据库代理连接地址 B 相当于传统数据库 RO 组连接地址 B),同时,相对于传统数据库多 RO 组场景,具备如下优势:
可挂载多个只读实例,比传统数据库可挂载实例数量要多。
可挂载读写属性的实例。
支持事务拆分。
支持连接池。
支持重新负载均衡。
支持一致性级别设置。
支持接入模式设置。
通过数据库代理连接地址挂载不同实例操作演示
步骤1、开通数据库代理
说明:
开通的数据库代理具备多少节点就可以创建多少个连接地址,为实现多 RO 组场景,开通数据库代理时至少配置2个节点。
步骤2、挂载实例
单个数据库代理连接地址挂载实例
TDSQL-C MySQL 版在开通数据库代理后,默认提供一个数据库代理连接地址,这里记为数据库代理连接地址 A,可在数据库代理管理页 > 概览 > 连接地址下查询。
![](https://qcloudimg.tencent-cloud.cn/image/document/969378dbcaeb5f6c1c77b068c70b0eae.png)
下面介绍在数据库代理连接地址 A 下挂载只读实例 RO1 的操作方法。
1. 在数据库代理管理页 > 概览 > 连接地址下找到目标访问地址,单击其操作列的调整配置。
2. 在跳转的窗口下,选择读写属性为只读,完成其他策略的配置,单击下一步。
3. 在读权重分配下,启用只读实例 RO1,并根据需要设置其权重,单击确定。
多个数据库代理连接地址挂载实例
在单个数据库代理连接地址下挂载完只读实例后,也支持创建多个数据库代理连接地址再挂载实例,下面介绍在数据库代理下新增数据库代理连接地址 B,然后挂载只读实例 RO2、RO3。
1. 在数据库代理管理页面,在连接地址后单击新增访问地址。
![](https://qcloudimg.tencent-cloud.cn/image/document/790127517b3b1aef0789c72233159592.png)
2. 在新建连接窗口,完成网络配置,单击下一步。
3. 在配置策略窗口下,选择读写属性为只读,完成其他策略的配置,单击下一步。
4. 在读权重分配下,启用只读实例 RO2、RO3,并根据需要设置其权重,单击确定。
步骤3、应用配置
完成开通数据库代理、在数据库代理连接地址上挂载实例后,即可在业务侧,为不同的业务分别配置数据库代理地址 A 和数据库代理地址 B,则通过数据库代理地址的请求,可全部经过代理集群中转访问集群下的不同实例,即实现了传统数据库多 RO 组能提供的功能,具备更多的优势。