数据库代理(读写分离)
本文介绍MyBase MySQL的数据库代理服务。
MyBase MySQL数据库代理提供了自动读写分离、事务拆分、连接池等高级功能。数据库代理作为数据库服务端和应用服务端之间的网络代理服务,用于代理应用服务端访问数据库时的所有请求,具有高可用、高性能、可运维、简单易用等特点。
适用场景
事务内有大量请求,导致主实例负载过高的场景。
连接数过多导致主实例负载过高的场景。
短连接为主的业务。
纯只读和有隔离需求的业务。
代理终端简介
代理终端是数据库代理的核心,是阿里云自主研发的可自定义连接地址功能。MyBase MySQL实例中最多支持7个代理终端,您可以修改各代理终端的读写属性来满足不同的业务场景,增强业务的灵活性。
每个代理终端都可以分别设置各自的读写属性。
读写:用来支持读写分离功能实现业务线性扩展。
该模式下创建的代理终端中至少连接一个主实例和一个只读实例,写请求都只会发往主实例。
只读:用来支持只读的业务,比如报表。
该模式下创建的代理终端中至少连接一个只读实例,主实例不会参与路由。当代理终端的读写属性设置为只读时,MyBase会根据代理终端下配置的只读实例轮循分配连接,即一个客户端连接仅对应到一个只读实例的一个连接,而主实例不会参与到该分配,可用的业务连接总数是所有只读实例上的连接数之和。
说明
MyBase MySQL实例代理终端的读写属性为读写时,支持事务拆分、连接池等读写分离功能。
使用方法
请参见开通并配置数据库代理服务。