本文将介绍 TDSQL-C MySQL 版的数据库代理能力,相对于传统数据库多 RO 组场景,TDSQL-C MySQL 版的优势主要在于减少主实例负载。
支持多个独立数据库代理连接地址
传统数据库,一个数据库最多只能创建2个只读实例 RO 组,无法满足更多的业务负载场景,而 TDSQL-C MySQL 版数据库代理功能,具备多少个节点就可以创建多少个数据库代理连接地址(当前版本最多支持4个节点)。
支持挂载主实例(读写属性)
传统数据库的只读实例 RO 组内只能挂载只读实例,不能挂载主实例,而 TDSQL-C MySQL 版每个数据库代理地址下均可挂载主实例,通过数据库代理地址即可实现对主实例和只读实例的分流访问。
支持事务拆分
TDSQL-C MySQL 版的数据库代理提供事务拆分功能,能够将一个事务中读和写操作拆分到不同的实例上去执行,读请求转发到只读实例,降低主实例负载。
支持会话级连接池
TDSQL-C MySQL 版数据库代理支持连接池功能,目前支持的数据库代理连接池功能为会话级连接池,能够有效解决短连接业务频繁建立新连接而导致实例负载过高的问题。当某客户端连接断开时,系统会判断当前连接是否为闲置连接,如果是闲置连接,系统会将该连接放到代理的连接池中并保留一小段时间(系统默认为5秒,支持 设置连接保留阈值)。 支持重新负载均衡
开通数据库代理后,可通过查看代理节点列表的连接数或查看各代理节点的性能监控,来判断各节点是否出现访问不均衡现象。若业务存在大量长连接,增加数据库代理节点也可能会出现新的节点负载不均衡,若出现各代理节点连接数不均衡的现象,可通过重新负载均衡打散连接。 支持一致性级别设置
当读写实例有数据更新后,相关的更新会应用到只读实例,其中数据同步的延迟时间与写入压力有关。TDSQL-C MySQL 版提供三种不同的一致性级别,来保证业务访问数据库数据的一致性要求,分别是:
最终一致性:数据能实现最终一致性,保证只读实例对已改变写的数据的读取。最终都能取得已更新的数据,但不完全保证能立即取得,已更新的数据由于主从复制延迟会导致从不同节点查询到的结果不同。
会话一致性:会话一致性,保证了在同一个会话内,能够查询到读请求执行前已更新的数据,确保了数据单调性。
全局一致性:不仅保证同一个会话内,能够查询到读请求执行前已更新的数据,也保证通过不同连接发送出去的请求,其查询结果一致。
支持接入模式设置
接入模式的设置,可以控制应用程序或客户端与数据库代理的连接链路,分为均衡分配、就近接入两种接入模式。均衡分配模式可实现流量均衡分配,不存在单一节点负载过高的问题;就近接入模式,应用程序将与同一可用区或访问路径最近的数据库代理节点连接,若数据库代理存在多个可用区节点,应用程序仍然选择访问路径最近的数据库代理节点进行连接,具备访问延迟低,速度快的优势。
本页内容是否解决了您的问题?