注意事项

最后更新时间:2021-09-01 15:28:45
  • 使用代理连接地址进行读写分离时,不保证非事务读的一致性,业务上有读一致性需求可以封装到事务中,或者使用 Hint 语法。

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

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

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

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