读写分离
在主实例的读请求较多、读压力较大的时候,可以通过数据访问代理读写分离功能对读流量进行分流,减轻 RDS 主实例的读压力。
数据访问代理的读写分离功能是对应用透明的设计。在不修改任何应用代码的情况下,只需要在数据访问代理控制台中调整读权重,即可将读流量按配置的比例在主 RDS 实例与多个 RDS 只读实例 之间进行分流;写流量则全部到主实例,不做分流。
设置读写分离后,主 RDS 实例读取过程是强读,即实时强一致读,而只读实例上的数据是从主实例上异步复制的,存在毫秒级的延迟,因此只读 RDS 实例读取过程是弱读,属于非强一致性读。在金融级业务场景下,当需要实时、强一致读时,可以通过数据访问代理控制台的 数据库设置 页面来关闭读写分离功能,这时数据访问代理仅能通过强读的方式读取主 RDS 实例,保证访问该库的 SQL 语句只在主 RDS 实例上执行。