云数据库 veDB MySQL 版目前采用基于活跃请求数负载均衡策略,来保证多个只读节点之间负载均衡。
当主节点接受读时,Round-Robin 模式负载均衡在读写模式下,从一个数据库代理发来的所有读请求都会以轮询的形式发送到主节点和只读节点上。但在实际的业务中,负载流量往往是以混合形式出现(如写请求 50 个,读请求 100 个),那么基于 Round-Robin 模式的分配,此时主节点承担的流量为“写请求 50 个 + 读请求 50 个”,只读节点承担的流量为“读请求 50 个”,主节点不仅要承担写请求也要承担读请求,从而导致主节点的压力比较大,只读节点的资源利用率也比较低。
为了解决 Round-Robin 模式存在的问题,提高只读节点的利用率,云数据库 veDB MySQL 版引入了基于活跃请求数负载均衡策略。
通过基于活跃请求数负载均衡策略,在上述的示例中,最终主节点需承担的流量为“写请求 50 个 + 读请求 25 个”,只读节点需承担的流量为“读请求 75 个”。可以有效地降低主节点压力,提高只读节点的资源利用率,提升整体性能。
当连接终端为读写终端时,可以选择开启或关闭主节点接受读功能。当关闭了主节点接受读功能时,主节点只接受事务读请求,而非事务读请求不会发往主节点。
说明