如何配置密钥斗篷的数据源以与 galera 集群很好地配合使用?



ENV:

Linux:Red Hat 7.5 (Maipo(

MariaDB:10.2.13-MariaDB

钥匙斗篷:3.4.3.菲娜

JDBC 驱动程序:mariadb-java-client-2.2.5.jar

描述:

我启动了一个密钥斗篷实例,使其连接到一个 galera 集群。

而:

如果我在gelera节点上使用"kill -9 mariaDB进程",keycloak和galera之间的连接将发生500错误,几秒钟后,200OK继续。

如果我在gelera节点上使用"kill -15 mariaDB进程",keycloak和galera之间的连接将持续200 OK,没有发生错误。

"kill -9"来模拟 MySQL 服务的崩溃场景。

我希望的是MySQL服务崩溃时没有任何错误。(例如kill -9(,当当前节点崩溃时,Keycloak应该自动连接到下一个Galera节点,没有任何错误

以下是我的独立数据源配置.xml


<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mariadb:failover://db1,db2,db3/keycloak?autoReconnect=true&amp</connection-url>
<driver>mariadb</driver>
<security>
<user-name>kc_dbuser</user-name>
<password>7a092075c015090fe21c83ecd6f6</password>
</security>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<flush-strategy>IdleConnections</flush-strategy>
</pool>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<validate-on-match>true</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>1000</background-validation-millis>
<use-fast-fail>true</use-fast-fail>
</validation>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>

是密钥斗篷错误或JBOSS错误或JDBC驱动程序错误还是只是配置问题?如何解决?

使用此代码更改第 2 行

<connection-url>jdbc:mariadb:failover://db1,db2,db3/keycloak?autoReconnect=true</connection-url>

相关内容

最新更新