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
'programing' 카테고리의 다른 글
구조물에 대한 포인터의 정의를 입력 (0) | 2023.09.26 |
---|---|
jQuery: 코드를 실행하지 않고 1초 대기/지연 (0) | 2023.09.26 |
바인딩되지 않은 RestTemplate로 인해 Spring-BootRestClientTest가 MockRestServiceServer를 올바르게 자동 구성하지 않음 (0) | 2023.09.26 |
워드프레스 webp 이미지 미리보기 (0) | 2023.09.26 |
드라이버와 프로바이더의 차이 (0) | 2023.09.21 |