programing

maxscale master slave 연결 풀에서 유효한 연결 확인

lovejava 2023. 9. 26. 19:12

maxscale master slave 연결 풀에서 유효한 연결 확인

현재 master-slave 복제가 완료되어 maxscale의 readwrites split 기능을 이용하여 select 및 insert가 분기되어 있습니다.

저는 공통 dbcp를 사용하고 testOnBrow 및 validation 옵션을 사용하여 연결을 확인하고 있었습니다.데이터 소스 구성을 통해 쿼리하지만 쿼리가 maxscale을 통해 전송되므로 유효성 검사 중 1개를 선택합니다.쿼리는 슬레이브에만 전송되며 마스터의 연결 유효성을 확인할 수 없습니다.

마스터는 접속 유효성을 확인하지 않기 때문에 WAS를 오랫동안 사용하지 않고 접속하면 db 접속 관련 오류가 발생합니다.

이 문제를 해결하기 위해 master_accept_reads = true를 사용했지만 마스터에 더 많은 트래픽이 발생하므로 사용하고 싶지 않습니다.다른 옵션인 persist poolmax는 persist maxtime을 사용했는데 동일한 오류 메시지가 왔습니다.

Validation과 같은 연결 유효성 확인 쿼리를 보낼 수 있는 방법이 있는지 궁금합니다.마스터와 슬레이브를 구분하지 않고 maxscale 또는 mariadb로 쿼리합니다.

긴 글 읽어주셔서 감사합니다.

힌트 필터를 사용하여 마스터로 쿼리를 라우팅할 수 있습니다.

https://mariadb.com/kb/en/mariadb-maxscale-24-hintfilter/

언급URL : https://stackoverflow.com/questions/65002821/maxscale-master-slave-valid-connection-check-in-connection-pool