【问题标题】:How to configure jdbc fallback for mariadb connector如何为 mariadb 连接器配置 jdbc 回退
【发布时间】:2019-04-02 04:25:36
【问题描述】:

我希望我的应用程序始终尽量连接到 galera 多主数据库集群的第一个节点

我的应用程序正在使用 mariadb jdbc 连接器连接到数据库。由于 galera 已知的局限性,我经常遇到冲突。一种解决方案是强制应用程序仅连接到一个节点进行写入。 根据mariadb连接器文档here,我可以使用sequentail模式,这样连接器会按顺序尝试主机。但是sequential 的问题是它不会回退,所以我仍然不能保证所有应用程序都会连接到同一个数据库节点。

有什么建议吗?

【问题讨论】:

    标签: mysql jdbc


    【解决方案1】:

    mariadb知识页面上的文档不是很清楚。

    以下是我在经过一些测试后发现的有关 Mariadb 连接器的信息:

    1. 基本故障转移 如果未指定故障转移模式,则使用基本故障转移。(例如jdbc:mariadb://host1,host2)在此模式下,JDBC 驱动程序将尽力连接到host1,直到它变得不可用。故障转移发生后,如果host1 回来,它会尝试回退到host1 并断开其他主机。

    2. 顺序模式 此模式与基本故障转移几乎相同,只是 JDBC 驱动程序会粘在第二个节点上,即使返回也不回退到第一个节点

    3. 故障转移 我的理解是 Mariadb JDBC 连接器中的 jdbc:mariadb:failover 相当于 MySQL JDBC 连接器中的 jdbc:mysql:loadbalance。除非您指定(type=slave),否则连接器将以读写模式连接到所有节点。

    4. 复制 使用jdbc:mariadb:replication://host1,host2,host3,JDBC 驱动程序将以读写模式连接到host1,并以读取模式连接所有其他节点

    【讨论】:

      猜你喜欢
      • 2016-04-10
      • 2022-11-06
      • 2019-11-15
      • 2016-08-02
      • 2015-12-13
      • 1970-01-01
      • 2023-02-19
      • 2019-06-24
      相关资源
      最近更新 更多