文档

开启读写分离功能

更新时间:

云原生内存数据库Tair提供了读写分离功能。开启后,您无需修改业务代码,实例能够自动识别读、写请求并进行对应转发,从而提高实例的整体性能与可用性,满足高并发读写的业务场景。

背景信息

读写分离功能采用星型复制架构,所有只读节点均从主节点同步数据,数据同步延迟低。所有只读节点均具备容灾功能,可作为备节点进行数据备份,您可以按需选择只读节点数量(范围为1~9),更多信息请参见读写分离架构

前提条件

  • 部署模式为云原生

  • 架构类型为不启用集群。

  • 存储介质为Tair内存型、持久内存型。

  • 分片规格为1 GB及以上。

注意事项

本操作会造成实例出现秒级的连接闪断,同时会将在后台触发数据迁移,请务必确保在操作过程中实例的写入流量不会过高(QPS小于10万),请在业务低峰期执行该操作并确保应用具备重连机制。

操作步骤

  1. 访问Tair实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏,单击读写分离设置

  3. 单击立即开启

  4. 读写分离面板中,按需选择只读节点数量,范围为1~9个。

    说明

    新创建的只读节点规格与主节点(源实例)一致。

  5. 确认订单费用,单击去支付

  6. 根据提示完成支付流程。

    支付成功后,实例开始变配(实例状态改为变配中)。请等待1~5分钟,实例状态改为运行中即表示变配完成,您可以在实例详情页中查看进展。

自定义只读节点数

在使用过程中,您可以根据业务动态需求灵活调整读写分离架构实例的只读节点数:在读写分离设置页面,单击操作列下的修改,调整只读节点数量。

常见问题

无法开启读写分离,报错为 ECS cluster DbInstance does not support SecurityGroup

原因:云原生实例若已添加安全组,则无法开启读写分离。

解决办法:排查实例是否添加了安全组。如果实例已添加安全组,请您将对应的IP地址添加至实例白名单中,并移除实例的安全组,具体方法请参见设置白名单。移除安全组后,再开启读写分离。