10bet网址
MySQL连接器/J 8.0开发人员指南
相关的文档10bet官方网站 下载本手册

MySQL连接器/J 8.0开发人员指南/多主机连接/使用X DevAPI配置服务器故障切换连接

9.2通过X DevAPI配置服务器故障切换

在使用X协议时,Connector/J支持建立会话的客户端故障转移特性。如果在连接URL中指定了多个主机,当Connector/J连接到列出的主机失败时,它将尝试连接到另一个主机。这是一个示例X DevAPI URL,用于配置客户端故障转移:

mysqlx: / /桑迪:mypassword@ host1:33060, host2:33061 /测试

配置了客户端故障转移后,当建立连接失败时,Connector/J将继续尝试连接到主机列表中的主机。尝试连接主机的顺序如下:

  • 优先级属性设置为连接URL中的每个主机,根据设置的主机优先级进行连接,优先级由0 ~ 100之间的任意数字指定,数字越大连接优先级越高。例如:

    mysqlx: / /桑迪:mypassword@[(地址= host1:33060、优先级= 2),(地址= host2:33061,优先级= 1))/测试

    在这个例子中,host1总是在之前尝试host2当创建新的会话时。

    优先级应该设置为所有或没有主机。

  • 优先级属性没有为连接URL中的每个主机设置:

    • 对于8.0.19及更高版本,以随机顺序一个接一个地尝试主机。

    • 对于8.0.18及更早版本,主机将按照它们在连接url中出现的顺序一个接一个地进行尝试——在列表中出现较早的主机将在列表中出现较晚的主机之前进行尝试。

注意,X DevAPI的服务器故障转移特性只允许在Connector/J试图建立连接时进行故障转移,而不允许在已经建立连接的操作期间进行故障转移。

使用X DevAPI的连接池。当与X DevAPI一起使用连接池时,Connector/J会跟踪它未能连接到的任何主机,并且在失败后的一小段等待时间内,避免在创建或检索对象期间连接到该主机会话.但是,如果已经尝试了所有其他主机,则将重新尝试那些被排除在外的主机,而无需等待。一旦尝试了所有主机,但无法建立连接,Connector/J抛出一个异常com.mysql.cj.exceptions.CJCommunicationsException然后返回消息无法连接到任何目标主机

使用X DevAPI配置DNS SRV的服务器故障切换

看到章节6.14,“对DNS SRV记录的支持”获取详细信息。