DB 이중화 maxscale 관련 질문 입니다.
본문
안녕하세요.
이번에 그누보드로 작업된 사이트를 서버 이전하면서
2대의 웹서버와 2대의 DB서버로의 이중화 작업을 해야 한다고 해서 문의드립니다.
디비 이중화에는 maxscale을 사용한다고 하고 그에 대한 설치는 업체에서 별도로 진행하고 있습니다.
제가 소스를 반영할때
각각의 웹서버에서 DB서버를 연결할때 두개의 DB에 순차적으로 연결을 하고
마스터 DB가 죽으면 바로 슬레이브 디비로 연결하게 해야한다고 하는데
그누보드에서 DB연결 부분에서 어떻게 소스를 수정하면 되는지 몰라서 질문하게 되었습니다.
관련 작업 경험있으신분들께 조언을 부탁드립니다.
답변 2
기본 그누보드에서 db정보는 data/db.config.php 파일입니다.
해당 파일의 db접속정보를
/common.php 파일에서 연결하게되는데,
그 접속을 시도 후 실패를 하면, db.config2.php 파일을 불러오게해서
다른 db에 붙을수있게 하면되지않나 싶습니다.
maxscale에서 vip를 제공해주지 않나요? maxscale이 하는 역할이 ha-proxy같은거라 보통 vip로 관리하는데. 개별 서버로 접근하는거면 답변글에서 그누위즈님 적으신방법도 글쓴이님이 생각하신 방법도 괜챦은 방법이네요. maxscale+galera-cluster 구성에선 클라이언트는 걍 서버쪽 vip로 보내고 내부 클러스터 서버 설정에서 check(rr,lc,hash 등과 주기,AA나 AB구성 등등) 관련 설정을 건드려 최적화를 합니다.
또한 select나 insert 쿼리도 서버 단위로 또는 서브 그룹단위로 각각 나눠 실행하게 해줄수도 있습니다.