2016-08-18 8 views
0

다중 AZ 중복을 True로 설정 한 AWS MySQL 인스턴스가 있습니다. 또한 읽기 전용 쿼리에 사용할 읽기 복제본이 있습니다. 내 연결 풀로 C3P0을 사용하고 있습니다. AWS는 마스터 인스턴스와 읽기 복제본에 대한 끝점을 제공하지만 중복 마스터에 대한 끝점을 제공하지 않습니다. 두 개의 연결 풀 (하나는 읽기 액세스 용이고 다른 하나는 쓰기 액세스 용)을 만듭니다. 마스터가 장애 조치를 수행하면 내 서비스가 중복 마스터에 도달 할 수 있도록하려면 어떻게해야합니까? ttl 설정에 대해서는 30을 설정하고 있습니다. 그러나 마스터를 재부팅 (failover 버튼을 누름)했지만 마스터가 재부팅을 마치고 온라인 상태가 될 때까지 데이터를 쓸 수 없었습니다. Guice를 사용하여 코드 풀에 연결 풀을 삽입합니다.AWS RDS로 장애 조치하는 방법 Java의 MySQL 복제본

+0

페일 오버하려면 상자를 선택하면 마스터가 "온라인 상태로 돌아 오지 않았습니다." 주인은 대기자가되었고 대기자는 주인으로 승진했습니다. DNS가 전환되어 마스터에 연결하기 위해 사용한 주소가 새 마스터 (이전 대기)로 전환됩니다. –

+0

맞습니다. 잘못된 용어를 사용했습니다. 내 코드에서이 DNS 스위치를 어떻게 감지합니까? 나는 java.security.Security.setProperty ("networkaddress.cache.ttl", "10"); AWS 문서에 언급 된대로 (그들은 60 초를 말했지만 10시에 시도했습니다) – Mark

+0

그게 전부입니다. –

답변

0

장애 조치가 작동하도록 만들 수있었습니다. (실제로 일하고 있었고, 나는 그 일이 벌어 질 때까지 기다릴 수 없었습니다.) C3P0 설정이 너무 높게 설정되어있어서 C3P0이 연결이 실패한 것을 볼 수 없었습니다.

관련 문제