Gitaly 및 Geo 기능

가장 접근 가능하고 빠르게 복구되며 높은 성능 및 완전히 견고한 데이터 솔루션을 원하는 것은 흔한 일입니다. 그러나 이에는 일정한 트레이드 오프(trade-off)가 있습니다.

다음 표는 귀하의 요구 사항에 기반하여 올바른 기능 조합을 선택할 수 있도록 안내하는 데 목적이 있습니다.

Gitaly 기능

기능 가용성 복구 가능성 데이터 견고성 성능 리스크/트레이드 오프
Gitaly 클러스터 매우 높음 - 노드 장애에 강함 단일 노드의 RTO가 10초이며 매뉴얼 개입 없이 데이터가 여러 노드에 저장됨 좋음 - 투표로 인해 쓰기에는 약간의 시간이 걸릴 수 있지만, 읽기 분산은 읽기 속도를 향상시킴 트레이드 오프 - 중복되고 강력한 일관된 리포지터리 솔루션에 대한 약간의 쓰기 속도 감소. 리스크 - 스냅샷 백업을 지원하지 않음, GitLab 백업 작업은 대량 데이터 세트에 대해 느릴 수 있음
Gitaly 샤드 단일 저장 위치는 단일 장애 지점 실패한 샤드만 복원해야 함 단일 장애 지점 좋음 - 리포지터리를 샤드에 할당하여 부하를 분산시킬 수 있음 트레이드 오프 - 부하/저장 공간을 균형있게 유지하기 위해 매뉴얼으로 리포지터리를 다른 샤드에 구성해야 함 리스크 - 단일 장애 지점은 단일 노드 장애가 발생할 때 복구 프로세스에 의존함

Geo 기능

여러 지역 또는 여러 위치에 걸쳐 가용성이 필요한 경우 Geo에 대해 읽어보세요.

기능 가용성 복구 가능성 데이터 견고성 성능 리스크/트레이드 오프
Geo Geo 사이트의 아키텍처에 따름. 단일 및 다중 노드 구성에서 이중화할 수 있음. 최종 일관성. 복구 지점은 복제 지연에 따라 달라짐. 이는 네트워크 속도 등 다양한 요인에 따라 달라짐. Geo는 스크립터블한 매뉴얼 명령을 사용하여 주 서버에서 보조 서버로 장애 조치를 지원함. Geo는 계획된 데이터 유형의 100%를 복제하고 50%를 확인함. 자세한 내용은 제한 테이블을 참조하세요. 보조 서버를 사용하는 사용자의 읽기/복제 시간을 개선함. Geo는 다른 백업/복원 솔루션을 대체하기 위한 것이 아님. 주 서버의 복제 지연과 주 서버에서 나쁜 데이터를 복제할 가능성으로 인해 고객은 주 서버의 정기적인 백업을 수행하고 복원 프로세스를 테스트해야 함.

장애 모드 및 사용 가능한 경감 경로에 대한 시나리오

다음 표는 위의 표에 세부적으로 설명된 제품 제공에 대한 장애 모드 및 경감 경로를 개요로 보여줍니다. 참고 - Gitaly 클러스터 설치는 홀수 복제 요소가 3 이상이라고 가정함

Gitaly 모드 단일 Gitaly 노드 손실 응용 프로그램/데이터 손상 지역 장애 (인스턴스 손실) 비고
단일 Gitaly 노드 다운타임 - 백업에서 복원해야 함 다운타임 - 백업에서 복원해야 함 다운타임 - 장애가 끝날 때까지 기다려야 함  
단일 Gitaly 노드 + Geo 보조 다운타임 - 백업에서 복원해야 하며 보조 서버로 매뉴얼 장애 조치를 수행할 수 있음 다운타임 - 백업에서 복원해야 하며 오류가 보조 서버로 전파될 수 있음 매뉴얼 개입 - Geo 보조 서버로 장애 조치  
샤딩된 Gitaly 설치 부분 다운타임 - 영향을 받은 노드의 리포지터리만 영향을 받으며 백업에서 복원해야 함 부분 다운타임 - 영향을 받은 노드의 리포지터리만 영향을 받으며 백업에서 복원해야 함 다운타임 - 장애가 끝날 때까지 기다려야 함  
샤딩된 Gitaly 설치 + Geo 보조 부분 다운타임 - 영향을 받은 노드의 리포지터리만 영향을 받으며 백업에서 복원해야하며 영향을 받는 리포지터리에 대해 보조 서버로 매뉴얼 장애 조치를 할 수 있음 부분 다운타임 - 영향을 받은 노드의 리포지터리만 영향을 받으며 백업에서 복원해야하며 오류가 보조 서버로 전파될 수 있음 매뉴얼 개입 - Geo 보조 서버로 장애 조치  
Gitaly 클러스터 설치* 다운타임 없음 - 10초 후에 리포지터리 기본을 다른 노드로 바꿈 적용 불가; 모든 쓰기는 여러 Gitaly 클러스터 노드에 의해 투표됨 다운타임 - 장애가 끝날 때까지 기다려야 함 Gitaly 클러스터 노드에 대한 스냅샷 백업은 현재 지원되지 않음
Gitaly 클러스터 설치* + Geo 보조 다운타임 없음 - 10초 후에 리포지터리 기본을 다른 노드로 바꿈 적용 불가; 모든 쓰기는 여러 Gitaly 클러스터 노드에 의해 투표됨 매뉴얼 개입 - Geo 보조 서버로 장애 조치 Gitaly 클러스터 노드에 대한 스냅샷 백업은 현재 지원되지 않음