로드밸런싱을 위한 올바른 MariaDB Galera jdbc URL 속성은 무엇입니까?
192.168.2.51과 192.168.2.52의 양쪽 프라이빗 IP 상에서 실행되고 있는 MariaDB 10.0 Galera 클러스터의 노드 2개가 셋업되어 있습니다.MariaDB의 JDBC 클라이언트(또는 mariadb.jdbc)를 사용하여 클러스터에 접속하려고 합니다.드라이버)는 MariaDB 웹사이트에서 제공합니다.
이는 "jdbc:mariadb://192.168.2.51:3306,192.168.2.52:3306/dbname"과 같은 일반 URL에서 작동합니다.
그러나 "jdbc:mysql://192.168.2.51,192.168.2.52,dbname?autoReconnect=true&AutoReconnectForPools=true&failoverReadOnly=false&RoBalance="와 같은 URL을 사용하여 MySQL JDBC 드라이버를 사용할 수 있습니다.
MariaDB(https://mariadb.com/kb/en/about-the-mariadb-java-client/)와 MySQL(http://dev.mysql.com/doc/refman/5.5/en/connector-j-reference-configuration-properties.html))에 기재되어 있는 속성을 비교했습니다.MariaDB JDBC 클라이언트의 경우 로드밸런스 또는 autoReconnect를 처리하는 속성이 없는 것 같습니다.
질문입니다. MariaDB JDBC 드라이버를 통해 MariaDB Galera에 (로드밸런스 및 페일오버 기능을 사용하여) 연결하는 올바른 방법이 있습니까? 아니면 MySQL의 ConnectorJ로 폴백해야 하며 ConnectorJ는 MariaDB Galera 클러스터와 얼마나 호환됩니까?
감사해요.
MariaDB JDBC에는 로드밸런스 또는 페일오버 기능이 없습니다.사용한 여러 엔드포인트 기능조차 문서화되어 있지 않고 실험적인 것입니다.ConnectorJ 로드밸런싱은 정상적으로 동작합니다.MariaDB Galera는 일반 MySQL의 인스턴스일 뿐입니다.
그냥 사용하시면 됩니다.failover
내가 관찰한 바로는jdbc:mariadb:failover
mariadb connector는 다음과 같습니다.jdbc:mysql:loadbalance
mysql 커넥터 내jdbc:mariadb:sequential
마리아드브 대등하게jdbc:mysql:failover
mysql로 설정합니다.
이거 좀 헷갈리네요.
Mariadb에서는 Fail오버라는 단어도 읽기/쓰기 로드는 실제로 모든 노드에 분산되어 있습니다.Galera 멀티마스터 클러스터 등 경우에 따라서는 보다 신뢰성 높은1개의 노드에 접속할 수 있도록 시퀀셜을 사용하는 것을 선호합니다.
https://mariadb.com/kb/en/library/about-mariadb-connector-j/
언급URL : https://stackoverflow.com/questions/19629690/what-is-the-right-mariadb-galera-jdbc-url-properties-for-loadbalance
'programing' 카테고리의 다른 글
Regex를 사용하여 파일을 해석해야 합니까, 아니면 더 나은 방법이 있습니까? (0) | 2022.10.20 |
---|---|
문자열에 PHPUnit에 다른 문자열이 포함되어 있는지 테스트하는 방법 (0) | 2022.10.20 |
mysql dump - 일부 테이블 데이터를 제외합니다. (0) | 2022.10.20 |
Java에 제네릭이 재작성되지 않은 것을 왜 신경써야 합니까? (0) | 2022.10.20 |
두 날짜 사이의 일 수를 계산하는 방법 (0) | 2022.10.20 |