链接复制成功!
使用示例:搭配ALT进行只读升主
本章节以只读节点升主节点为例,介绍搭配ALT进行只读节点升主节点的步骤及效果。小版本升级和规格变更的流程类似。
使用须知
如果出现业务中断,请参考注意事项。
前提条件
已完成购买实例。
操作步骤
步骤1:创建数据库代理
- 登录TaurusDB管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。 - 在实例管理页面,选择目标TaurusDB实例,单击实例名称,进入实例概览页面。
- 在左侧导航栏中,单击“数据库代理”,进入数据库代理页面。
- 单击“新增代理”。
- 在新增代理页面,设置以下参数,单击“立即购买”。图1 新增代理

表1 数据库代理参数 参数名称
说明
代理实例名称
长度在4个到64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。
代理模式
TaurusDB数据库代理支持读写、TP只读和AP只读三种代理模式,可根据业务需要选择合适的代理模式。
- 读写模式:所有写请求只发往主节点,所有读请求按照读权重配比或者活跃连接数情况分发到已选节点。节点的读权重值默认为100。
- TP只读模式:不接收写请求。所有读请求按照读权重配比或者活跃连接数情况分发到已选只读节点,不会转发到主节点,即使主节点被选为服务节点。
- TP只读模式仅支持读请求业务,写业务请求会有异常提示。
- 在TP只读模式下,不支持DDL、DML操作和临时表操作。
- AP只读模式:不接收写请求。所有读请求按照读权重配比分发到已选节点。目前是公测阶段,如需使用,请提交工单。
- 路由模式只支持权重负载,AP节点权重不能全部为0。
- 不支持Binlog拉取功能。
- 不支持会话一致性,仅支持最终一致性。
- 不支持事务拆分。
- 不支持行列自动分流。
- 不支持会话连接池。
- 不支持ALT。
- 不支持新节点自动加入。
- 多主实例不支持AP只读模式。
一致性级别
TaurusDB实例的内核版本为2.0.28.1及以上时支持设置一致性级别。内核版本的查询方法请参见如何查看云数据库 TaurusDB实例的版本号。
数据库代理支持如下一致性级别:
- 最终一致性
开启数据库代理后,同一会话内,连续多次SELECT请求会根据权重配比,路由到不同的数据库节点,由于主节点与读节点之前存在复制时延,并且各个读节点的复制时延大小不一定完全相同,可能会导致每次SELECT请求得到的结果存在差异,因此默认情况下,数据库代理只能保证数据的最终一致。
如果需要减轻主节点压力,让尽量多的读请求路由到只读节点,您可以选择最终一致性。
- 会话一致性
由于最终一致性可能会导致多次SELECT请求的结果存在差异,数据库代理进一步提供了会话级别的数据一致性,保证了在同一会话内,每次SELECT请求都可以获取到上一次写入操作后,数据库的最新数据。
开启会话一致性需要数据库代理的内核版本为2.7.4.0及以上。
- 全局一致性
全局级别的数据一致性保证在不同会话内,数据一致,即写入数据后,立即执行查询类操作,能够准确查到修改后的数据。
建议在业务读多写少的场景下选择全局一致性。
全局一致性需要TaurusDB实例内核版本为2.0.57.240900及以上,还需要数据库代理内核版本为2.25.06.000及以上。
更多关于一致性级别的内容请参见修改TaurusDB代理的一致性级别。
路由模式
数据库代理支持如下路由模式:
- 权重负载:根据您设置的读权重比例分发读请求。
- 负载均衡:根据数据库节点的活跃连接数情况进行读请求分发,将读请求分发到活跃连接数较少的节点上。
更多关于路由模式的内容请参见修改TaurusDB代理的路由模式。
代理实例规格
根据实际需要选择代理实例规格。
- 鲲鹏通用计算增强型:2 vCPUs | 4 GB、4 vCPUs | 8GB、8 vCPUs | 16 GB
- 通用增强型:2 vCPUs | 4 GB、4 vCPUs | 8 GB、8 vCPUs | 16 GB
子网
该功能当前是公测状态,如需使用,请提交工单。
开通数据库代理时可指定代理实例子网。如果TaurusDB实例所在子网为扩展网段,则不支持跨子网开启数据库代理,需要与TaurusDB实例在同一子网。
IP分配方式
支持自动分配和手动分配IPv4地址。
- 自动分配:开通数据库代理时TaurusDB会自动为您配置IPv4代理地址。
- 手动分配:您可以输入子网号段内未使用的IPv4地址,作为TaurusDB实例的代理地址。您可以单击“查看已使用IP地址”,查看已被使用的IP地址。
代理实例节点数量
默认为2个节点。最小支持2个节点,最大支持16个节点。
推荐代理实例节点数量 =(主节点CPU核数+所有只读节点CPU核数总和)/(4*代理实例CPU核数),计算结果向上取整。
新节点自动加入
开启新节点自动加入开关后,新增的只读节点会自动添加到该数据库代理实例中。
新节点权重
当路由模式为权重负载时,需要设置新节点的读权重。节点的读权重默认为100,读权重越高,处理的读请求越多。
行存/列存自动引流
自动分流功能开启后,数据库代理基于业务流入的SQL语句的实际执行代价来实现自动分流,从而实现SQL查询的最大性能。详细使用及约束请参见使用行列分流实现OLAP的复杂查询。
选择数据库节点
勾选需要加入到数据库代理中处理读请求的节点,列表中展示的节点包含TaurusDB节点(主节点、只读节点)和HTAP节点(BE节点、FE节点)。
- 确认数据库代理信息。
- 如果需要重新选择,单击“上一步”,修改基本信息。
- 信息确认无误,单击“提交”,下发创建数据库代理请求。
- 查看代理实例及关联的数据库节点。
数据库代理开通后,在数据库代理页面可查看到已创建成功的代理实例。
图2 查看创建成功的代理实例
单击左侧导航栏中“实例概览”,进入TaurusDB实例概览页面。单击页面右上方
,选择“查看实例拓扑图”,在实例拓扑图中可查看对应代理实例关联的数据库节点。将鼠标悬浮在节点信息处,可查看该节点的详细信息。图3 查看代理实例关联节点信息
步骤2:开启ALT
- 登录TaurusDB管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。 - 在“实例管理”页面,选择目标TaurusDB实例,单击实例名称,进入实例概览页面。
- 在左侧导航栏中单击“数据库代理”,选择目标代理实例。
- 单击代理实例名称,进入代理实例基本信息页面。
- 在“实例信息”模块的“ALT”处,单击
。 - 在弹框中,单击“确定”,开启ALT。图4 开启ALT

ALT开启后,如需关闭,单击
关闭。关闭ALT会重启代理实例,关闭所有代理的ALT后,TaurusDB实例也会重启。 - 开启后,实例状态由“数据库代理实例配置ALT中”变为“正常”,表示实例开启ALT成功,可在代理基本信息页面查看。
步骤3:应用连接到数据库代理
- 在TaurusDB控制台查看代理地址和端口。
单击目标TaurusDB实例,进入实例概览页面。在左侧导航栏单击“数据库代理”,在代理实例列表中查看代理地址和端口号。
图5 查看代理地址和端口
- 登录弹性云服务器。
详细内容请参考《弹性云服务器用户指南》。
- 执行如下命令,通过代理地址连接TaurusDB实例。
mysql -h host -P port -u userName -p
示例:
mysql -h 192.168.0.61 -P 3306 -u root -p
步骤4:进行手动只读升主
- 登录TaurusDB管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。 - 在“实例管理”页面的实例列表中,选择对应实例,单击实例名称,进入实例概览页面。
- 在“节点信息”列表中,选择目标只读节点,在“操作”列单击“只读升主”。图6 只读升主

- 在弹出框中单击“是”。
- 切换时可能会出现30秒左右的闪断,请确保应用具备重连机制。
- 切换过程中节点运行状态为“只读升主中”,此过程大概需要几秒或几分钟。
- 若您已开启高危操作保护,在“身份验证”弹出框中单击“获取验证码”,正确输入验证码并单击“确定”,页面自动关闭。
通过进行二次认证再次确认您的身份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保护,具体请参考《统一身份认证服务用户指南》的内容。
- 切换完成后,节点运行状态变为“正常”,您可查看到原先的只读节点和主节点的角色已经互换。
步骤5:测试ALT效果
当ALT功能开启,使用Sysbench,Tpcc-MySQL或MySQL客户端等工具连接到数据库代理地址,只读升主过程中用户的连接不会中断,只会出现短时间的卡顿后很快恢复。
以下分别是使用Sysbench,Tpcc-MySQL和MySQL客户端工具进行主备切换的效果示意。
- 使用Sysbench的进行只读升主的示例

- 使用tpcc-mysql的进行只读升主的示例

- 使用MySQL命令行工具进行只读升主的示例
如下图所示,用户自定义变量、会话变量、数据库在主备切换前后保持一致。

如下图所示,不同的事务排干超时时间,可能会影响到当前会话的ALT能力。


