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 클러스터 노드에 대한 스냅샷 백업은 현재 지원되지 않음 |