브로커 설정, 시작 및 확인

브로커 설정

데이터베이스 failover 시 정상적인 서비스를 위해서 databases.txtdb-host 항목에 가용 노드를 설정해야 한다. 그리고 cubrid_broker.confACCESS_MODE를 설정하는데, 이를 생략하면 기본값인 Read Write 모드로 설정된다. 브로커를 별도의 장비로 분리하는 경우 해당 장비에 cubrid_broker.confdatabases.txt를 반드시 설정해야 한다.

브로커 시작 및 상태 확인

브로커는 JDBC나 CCI, PHP 등의 응용에서 접근하기 위해 사용하는 것이다. 따라서 간단한 서버 이중화 동작을 시험하고 싶다면 브로커를 시작할 필요 없이 서버 프로세스에 직접 접속하는 CSQL 인터프리터만 실행해서 확인할 수 있다. 브로커는 cubrid broker start를 실행하여 시작하고 cubrid broker stop을 실행하여 정지한다.

다음은 브로커를 마스터 노드에서 실행한 예이다.

[master]$ cubrid broker start

@ cubrid broker start

++ cubrid broker start: success

[master]$ cubrid broker status

@ cubrid broker status

% testdb_RWbroker  - cub_cas [9531,33000] /home1/cubrid1/CUBRID/log/broker//testdb.access /home1/cubrid1/CUBRID/log/broker//testdb.err

 JOB QUEUE:0, AUTO_ADD_APPL_SERVER:ON, SQL_LOG_MODE:ALL:100000

 LONG_TRANSACTION_TIME:60.00, LONG_QUERY_TIME:60.00, SESSION_TIMEOUT:300

 KEEP_CONNECTION:AUTO, ACCESS_MODE:RW

---------------------------------------------------------

ID   PID   QPS   LQS PSIZE STATUS

---------------------------------------------------------

 1  9532     0     0  48120  IDLE

응용 프로그램 설정

응용 프로그램이 연결할 브로커의 호스트 이름과 포트를 연결 URL에 명시한다. 브로커와의 연결 장애가 발생한 경우 다음으로 연결을 시도할 브로커는 althosts 속성에 명시한다. 아래는 JDBC 프로그램의 예이며, CCI, PHP에 대한 예와 자세한 설명은 CCI 설정, PHP 설정을 참고한다.

Connection connection = DriverManager.getConnection("jdbc:CUBRID:nodeA_broker:33000:testdb:::?charset=utf-8&althosts=nodeB_broker:33000", "dba", "");