* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
LINUX | |
2008R.4.3(8.4.3.1005) | |
[도움말]-[버전정보] 확인 | |
java |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하십니까.
1. 부하분산을 위해 Master(이하 마스터) - Replica(이하 레플리카)를 테스트 하고있습니다. 현재 마스터와 레플리카사이에 갱신은 잘 이뤄지고 있습니다.
다만 접속방법이 명확히 나와있지 않아서 문의드립니다.
JDBC URL을 기존 마스터로 지정하면 자동으로 레플리카와 로드밸런싱을 해주는지 아니면 다른방법을 써야하는지 궁금합니다.
2. AWS에서 부하에따라 레플리카를 늘리는게 가능한지 테스트하려고합니다. 현재 레플리카를 끈뒤 마스터에 write작업을 진행한뒤 레플리카를 실행시켜도 적용이되는거 같습니다. 이때마스터와 연동되고있는 레플리카가 연동 진행상황을 알수있는지 궁금합니다.
감사합니다.
1. JDBC를 사용하셔서 master와 replica의 로드밸런싱을 하시려면 JDBC property에 altHosts와 loadBalance 설정하셔야 합니다.
설정내용에 대해서는 https://www.cubrid.org/manual/en/10.2/api/jdbc.html#installing-and-configuring-jdbc 참고하세요.
그리고, 주의사항은 replica는 RO (read-only) 서비스만 가능합니다. replica node의 broker 설정(access_mode)을 RO 로 설정하셔야 하며, 프로그램에서 read-only를 위해 connection을 별도로 구성후 사용하셔야 합니다. 기본 설정인 경우(access_mode=RW)에는 master DB쪽으로 연결해서 사용하게 됩니다.
broker 설정은 https://www.cubrid.org/manual/en/10.2/admin/config.html#broker-configuration를 참고하세요.
2. CUBRID의 replication은 physical log를 기반으로 수행됩니다. master node의 disk 용량이 충분해서 복제되지 않은 log를 그대로 쌓아 놓을 수 있으면, replica를 start되면 변경된 내용이 반영됩니다 (log는 복제된 후 삭제됩니다). 하지만, replica node가 오래동안 stop(off)된 경우 복제되지 않은 log가 쌓여서 disk full 장애에 의한 서비스 장애가 발생할 수 있습니다.
복제 반영 진행되는 사항은 replica node에서 cubrid applyinfo 로 확인할 수 있습니다.
applyinfo는 https://www.cubrid.org/manual/en/10.2/ha.html#cubrid-service-util 를 참고하세요.