mysql load balance_mysql8 参考手册-connector-j高级负载平衡和故障转移配置

connector/J为MySQL群集或多主服务器部署提供了有用的负载平衡实现,如 第9.3节“使用连接器/ J配置负载平衡” 和对多主复制拓扑的支持中所述。此相同的实现用于平衡具有复制意识的连接的只读从属服务器之间的负载。

当尝试在多台服务器之间平衡工作负载时,驱动程序必须确定何时可以安全地交换服务器,例如,在事务过程中这样做可能会引起问题。重要的是不要丢失状态信息。因此,Connector / J仅在以下情况之一发生时才尝试选择新服务器:

在事务边界处(显式提交或回退事务)。

遇到通信异常(SQL状态以“ 08”开头)。

当SQLException由用户定义的比赛条件下,利用扩展点由定义的 loadBalanceSQLStateFailover, loadBalanceSQLExceptionSubclassFailover 或loadBalanceExceptionChecker 特性。

第三个条件围绕三个属性,这些属性使您可以控制哪个SQLException触发故障转移:

loadBalanceExceptionChecker-该 loadBalanceExceptionChecker属性确实是关键。这采用了实现新com.mysql.cj.jdbc.ha.LoadBalanceExceptionChecker 接口的标准类名 。该接口非常简单,您只需要实现以下方法:

public boolean shouldExceptionTriggerFailover(SQLException ex)

SQLException传入 A ,然后返回布尔值。值为时true ,false不会触发故障转移。

您可以使用它来实现自己的自定义逻辑。一个可能有用的示例是在使用MySQL Cluster时处理瞬时错误时,其中某些缓冲区可能会过载。以下代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值