2개의 데이터센터 간의 Galera 클러스터 리플리케이션
2개의 데이터 센터에 4대의 서버를 배치하고 있습니다.두 데이터 센터를 직접 회선으로 연결합니다.순환 복제가 귀찮기 때문에 MariaDB에서 MariaBD Galera로 전환할 예정입니다.
로드 밸런서는, 어느 서버가 4 개의 서버 중 하나가 될 수 있는 착신 요구를 처리할지를 결정하기 위해서 사용됩니다.
데이터센터 간의 접속이 다운되면 어떻게 됩니까?접속이 회복되고 다시 4노드 클러스터로 재편될 때까지 2개의 센터가 미니 클러스터를 형성합니까?
Galera는 두 데이터센터 간의 접속에 장애가 발생했을 때 발생할 수 있는 주요 키 복제 문제를 어떻게 방지합니까?
로드 밸런서가 양쪽 데이터 센터로 요청을 전송하기 시작하고 양쪽 데이터 센터에서 삽입이 이루어지며 연결이 다시 돌아왔을 때 PK 복제 문제가 발생할 수 있다고 가정합니다.
vmware station을 사용하여 여러 사례를 시뮬레이트해 보았지만 이 사례를 어떻게 복제해야 할지 모르겠습니다.4노드 레플리케이션 클러스터를 생성하여 노드를 클러스터에 도입할 수 있었습니다.그러나 데이터 센터를 어떻게 시뮬레이션하는지 알 수 없습니다.
상황을 시뮬레이션하는 가장 쉬운 방법은 1개의 데이터 센터에서 2개의 노드를 동시에 제거하는 것입니다.방화벽 규칙을 동시에 시작할 수도 있습니다.
갈레라 성단은 비관적인 성단입니다.즉, 가장 우선순위가 높은 것은 데이터 무결성이며 가용성이 없다는 것을 의미합니다(M/M 레플리케이션과는 달리, M/M 레플리케이션은 최적 클러스터입니다. 우선 순위는 가용성이 있지만 데이터 무결성은 없습니다).
이 경우 Galera 노드가 누락된 다른 노드가 있음을 감지합니다.다음 단계로 Galera 클러스터의 각 측에서 쿼럼(대부분, 멤버의 절반 이상)을 찾으려고 합니다.2개의 데이터센터 간의 링크가 다운되어 있기 때문에 이 작업은 실패합니다.쿼럼은 기본값당 "반 이상"으로 정의되며, 이 경우 3입니다.어느 쪽도 쿼럼(2 < 3)에 도달할 수 없습니다.그러면 Galera는 스플릿브레인 상태(비프라이머리)가 되어 모든 쿼리(SHOW 및 SET 제외)를 거부합니다.
애플리케이션의 경우 클러스터 전체가 다운된 것처럼 보입니다.
2개의 장소 또는 노드가 있는 이 개념으로 인해 안정적이고 사용 가능한 클러스터를 가질 수 없습니다.항상 홀수 개수의 노드 또는 데이터 센터가 필요합니다.
링크가 돌아왔을 때 Galera는 종종 이것을 검출하고 스스로 회복합니다.아니면 한쪽을 수동으로 분리뇌에서 꺼내야 합니다.
언급URL : https://stackoverflow.com/questions/27777134/galera-cluster-replication-between-two-data-centers
'programing' 카테고리의 다른 글
after 키워드를 사용하여 테이블을 변경할 때 "Channel number out of range" 오류가 발생함 (0) | 2022.10.18 |
---|---|
장고 개발 IDE (0) | 2022.10.18 |
인스턴스 속성 attribute_name이 __init__ 외부에 정의되어 있습니다. (0) | 2022.10.18 |
main.c 파일을 삭제하면 이 프로젝트를 빌드할 수 없는 이유는 무엇입니까? (0) | 2022.10.18 |
HTML 파일 경로 위치에서 "./"(도트 슬래시)는 무엇을 의미합니까? (0) | 2022.10.18 |