以下部分讨论了一些涉及多主机连接的主题,即服务器负载平衡、故障转移和复制。
开发人员应该了解以下有关通过 Connector/J 管理的多主机连接的信息:
每个多主机连接都是底层物理连接的包装器。
每个底层物理连接都有自己的会话。鉴于 MySQL 架构,无法跟踪、共享或复制会话。
物理连接之间的每次切换都意味着会话之间的切换。
在事务边界内,物理连接之间没有切换。超出事务边界,无法保证不会发生切换。
如果应用程序在事务边界之外重复使用会话范围的数据(例如,变量、SSP),则可能会失败,因为可能会发生物理连接之间的切换(这也是会话之间的切换)。因此,应用程序应该重新准备会话数据,并在出现异常时重新启动最后一个事务,或者如果不想处理异常处理,则应该为每个新事务重新准备会话数据。