云数据库 MySQL 注意事项

这篇说说云数据库 MySQL 数据库代理的注意事项,包括事务路由、跨可用区配置、连接数限制及版本要求等核心要点。 事务路由:未启用事务拆分时,事务请求均路由到主实例。 连接限制:代理节点连接数上限为20000,超限可能引起不稳定。 版本要求:跨可用区、连接池等能力需特定代理版本支持。

相关产品
云数据库 MySQL 产品页,含版本规格、价格与购买入口。

这篇说说云数据库 MySQL 数据库代理的注意事项。

·使用代理连接地址时,如果没有启用事务拆分,事务请求都会路由到主实例。

·数据库代理配置支持跨可用区,可选择的可用区数量与当前地域可选可用区数量相关,最多支持选择三个可用区,当可选可用区数量为一个时,表示当前地域可选可用区数量仅有一个。

·可创建多个数据库代理访问地址,其数量与数据库代理节点相同,即有多少个节点,则支持创建多少个数据库代理访问地址。

·使用代理连接地址进行读写分离时,不保证非事务读的一致性,业务上有读一致性需求可以封装到事务中,或者使用 Hint 语法。

·使用代理连接地址时,show processlist 会将所有节点的结果合并后返回。

·对于 prepare 语句,数据库代理会先将 prepare 发送到所有节点,当后续的 execute 请求到来时,根据 prepare 的语句类型来决定 execute 的路由。如 prepare 了一个写语句,execute 时会发到主库,而如果 prepare 的是事务外的读语句,则会发送到只读实例。

·业务连接到达数据库代理后,代理会连接到主实例和所有配置的只读实例,数据库代理本身并没有最大连接数的限制,连接数的限制主要由后端数据库实例的最大连接数决定(主实例和只读实例最大连接数的最小值会影响业务性能)。

·单个数据库代理节点能够建立的连接数上限为20000,如果超过此上限可能引起数据库代理连接不稳定。数据库代理在1.4系列版本中新增了事务级连接池功能,可帮助减少大量空闲连接造成的后端连接数打满问题,了解事务级连接池功能,请参见 连接池概述。

·开启数据库代理后,新增只读实例或只读实例重启,只有新的连接的请求才会路由到新的只读实例或重启的只读实例,可以通过概览或 性能监控 查看各代理节点的性能指标,若发现各代理节点连接数不均衡的现象,可通过重新均衡负载打散连接。

·数据库代理各能力支持版本:

·跨可用区能力请确保代理版本为1.3.1或更高版本。

·连接保留阈值请确保代理版本为1.2.1或更高版本。

·连接池能力请确保代理版本为1.3.12或更高版本。

·事务拆分能力请确保代理版本为1.3.1或更高版本。

·新增连接地址能力请确保代理版本为1.3.1或更高版本。

·管理只读分析引擎请确保代理版本为1.3.15或更高版本。

注意:说明:

注意:升级数据库代理版本操作请参见 升级数据库代理内核小版本。

·使用 mysql-connector-j-8.0.32.jar 版本的 JDBC driver 连接数据库代理后,在使用 prepare 时,连接会 hang 住。因此,建议你不要使用 mysql-connector-j-8.0.32.jar 版本的 JDBC driver 来连接数据库代理,推荐使用 mysql-connector-j-8.0.33.jar 版本。这里涉及到 MySQL 的 Bug,详情请参见 Bug#109864。

赞 (0)
上一篇 4天前
下一篇 4天前