GH GambleHub

가용성 영역 및 교차 지역

1) 이용 약관

가용성 영역 (AZ) - 지역 내 격리 된 데이터 센터 (자체 용량/네트워크).
지역-일반적인 지리 및 지연이있는 AZ 그룹.

복구 목표:
  • RTO (복구 시간 목표) -서비스를 제공 할 수없는 시간입니다.
  • RPO (Recovery Point Objective) -얼마나 많은 데이터를 잃을 수 있습니까?

일반적으로: 지역 내에서 우리는 RTO 10-15 분, RPO ~ 0-1 분, 지역간-RTO 10 시간 1 시간, RPO 3 분 (제품 및 예산에 따라 다름) 을 목표로합니다.

2) 건축 모델

2. 1 지역 내부 (멀티 AZ)

무국적 계층: AZ에 분포; 균형 조정-L4/L7과 건강 검진.
안정적인 계층: AZ 사이에 동기 복제 (또는 쿼럼) 가있는 클러스터.
캐시/대기열: AZ 샤딩 및 자동 장애가있는 클러스터.

2. 2 지역 간 (다중 지역)

액티브 액티브: 두 지역 모두 트래픽을받습니다

최소 사용자 대기 시간, 빠른 복구, 일관성 및 충돌 복잡성

액티브 패시브 (뜨거운/따뜻한): 주요 지역은 두 번째로 뜨거운/따뜻한 기대로 제공됩니다.

더 간단한 데이터, 더 저렴한; -더 높은 RTO.
파일럿 라이트: 최소한의 "조명" (데이터가 동기화되고 사고시 계산이 전개됨).
DR 백업: 백업 및 복구 시나리오 만 (가장 저렴하고 느리게).

3) 데이터와 일관성

3. 데이터베이스 1 개

Synchronous quorum (RPO λ0, TP latentnost): 지역 내에서 동기식 대기가있는 PostgreSQL; 로컬 쿼럼 (로컬 쿼럼) 및 AZ 밸런싱이있는 분산 데이터베이스 (CockroachDB/Cassandra).
비동기 지역 간 (RPO> 0, ° latentnost): 논리적 복제 Postgres/MySQL; "글로벌 테이블" KV/NoSQL; CDC → 다른 지역으로 향합니다.
충돌하는 항목: 활성 활성화의 경우 키/테넌트 당 CRDT/verioning 또는 리더 영역을 사용하십시오.

3. 2 개의 이벤트 소싱 및 대기열

대기열/스트림 (Kafka/Pulsar/SQS와 유사): 거울 주제 또는 지역 간 복제기; 키-소비자 demempotency 및 키 교착 상태.
웹 후크 및 외부 파트너: 두 영역에 서명, 재생, 오프셋/체크 포인트 저장.

3. 3 현금

지역당 로컬 캐시 (쓰기/새로 고침); 내구성있는 KV 전용 글로벌 공유 캐시 (일명 분할 뇌). 이벤트 별 비활성화 (펍/서브), TTL-보수적.

4) 글로벌 트래픽 및 네트워크 루프

GSLB/DNA: 지구/대기 시간 기반 라우팅, 건강 점검, 카나리아 및 사고에 대한 교통 중량.
Anycast/Edge: 입구를 사용자에게 더 가깝게 한 다음 가장 가까운 건강한 지역으로 가져옵니다.
실패 정책: 지역 업스트림 풀, 중요한 경로에서 0-RTT 금지, 지역 간 의존성에 대한 낮은 시간 초과.
재 트레이 정책: 지수 백오프 + 지터, 총 마감일 제한, 'Idempotency-Key' 를 사용한 dempotent PUT/POST.

5) Kubernetes 및 서비스 메쉬

5. 하나의 클러스터에서 1 개의 다중 AZ

토폴로지는 제약 조건을 확산시킵니다. kubernetes. 이오/존 '.
PodDisruptionBudget! 우선 순위 클래스.
NodeAffinity/Anti-Affinity-복제 공동 위치를 피하십시오.
저장 영역: AZ 복제 또는 분산 볼륨 시스템이있는 PV.

5. 2 다중 지역 (멀티 클러스터)

선언적 동기화를 위해 지역당 별도의 클러스터 + GitOps (Argo CD/Flux).
서비스 메쉬 (Istio/Linkerd): 지역 간 지역 인식로드 밸런싱 및 장애; mTLS, 공유 아이덴티티.
트래픽 전환: 새로운 지역으로 점차 1% → 10% → 50%; "0%" 를 즉시 처리하십시오.

6) RTO/RPO 선택 및 패턴 바인딩

패턴전형적인 RTO전형적인 RPO해당되는 경우
활성 활성0 분 ~ (CRDT/CDC)낮은 대기 시간 전역 API
뜨거운 대기5-15 분몇 초중요한 B2C 서비스
따뜻한 대기15-60 분분 시간b2b/운영 서브 시스템
파일럿 라이트시간시간낮은 중요/비용
백업 전용하루실시간이 아닌 아카이브/분석

7) 결함 내성 테스트 (DR)

GameDays: 분기 별 본격적인 "지역/AZ 아웃" 시나리오.
혼돈 주입: 하나의 AZ에서 네트워크 지연, 패킷 손실, 중개인/기본 단절.
RTO/RPO 실제: 스위치 시간 및 데이터 손실을 측정하고 보고서를 게시하십시오.
런북: 단계별 명령어 및 전환을위한 "빨간색 버튼" (DNA 가중치, 기능 플래그, 무거운 기능 비활성화).

8) 관찰 및 관리

지역 별 메트릭 슬라이스/AZ/테넌트; p95/p99 경로 대기 시간.
지역 및 글로벌 풀당 SLO 및 오류 예산.
경고: 두 번째 영역이 정상적으로 트래픽을 운반하는 경우 한 영역의 열화는 페이징을 "잼" 해서는 안됩니다.
계정: 수하물 '지역', 'az', 'failover = 참/거짓'; "얼마나 많은 요청이 실패했는지" 보고합니다.

9) 안전 및 준수

데이터 거주자: PII/지불 데이터를 특정 지역 (관할권) 에 연결합니다.
비밀: 지역 간 키와 회전이있는 KMS/스마트 HSM; 지역당 별도의 주요 재료.
지역 간 mTLS 및 상호 신뢰; ACL에 의한 지역 간 탈출을 제한합니다.

10) 비용과 저축

가장자리 캐시 + SWR-지역 간 탈출이 감소합니다.
다른 스토리지 클래스 (핫/워밍/콜드) 및 다운 샘플링 메트릭/로그.
지역별 자동 스케일 프로파일 (야간 최소).
환경 변수/헬름 값을 통한 이미지 아이덴티티 + 차별화 된 구성.

11) 안티 패턴

시스템 당 하나의 Stateful Master; 정족수가없는 분할 뇌.
단일 RDBMS (견딜 수없는 대기 시간) 에 대한 지역 간 동기 기록.
CRDT → 혼잡 및 팬텀이없는 강력한 일관성을 가진 글로벌 캐시.
dempotency → 중복 트랜잭션/결제없이 배상합니다.
단일 "글로벌" SLO-한 지역의 실패를 숨 깁니다.
정기적 인 DR 연습은 없습니다. 계획은 전투에서 작동 할 수 없습니다.

12) iGaming/Finance의 세부 사항

지불 제공 업체/CCP는 지역별로 선택됩니다. 건강 신호, 백업에 대한 장애로 PSP를 통해 스마트 라우팅을합니다.
관할권: PII 및 국내/지역 거래 로그 보유; 교차 지역-집계/익명 만.
한계/책임 플레이: 현지 규칙 및 시간-지역 간 "정면" 을 복제하지 않고 이벤트 일관성을 사용하십시오.

보너스/밸런스: 임차인/지역당 dem 등원 키 및 "진실의 원천"; DR. 후 화해 작업

13) 미니 레시피 (의사 그림)

13. 1 특사 지역 인식 + 실패

yaml load_assignment:
endpoints:
- locality: { region: eu, zone: eu-a }
lb_endpoints: [{ endpoint: { address:... } }]
- locality: { region: eu, zone: eu-b }
lb_endpoints: [{ endpoint: { address:... } }]
- locality: { region: us, zone: us-a } # failover target lb_endpoints: [{ endpoint: { address:... } }]
common_lb_config:
zone_aware_lb_config: {}
locality_weighted_lb_config: {}
outlier_detection:
consecutive_5xx: 5 base_ejection_time: 30s

13. 2 Kubernetes 토폴로지 확산

yaml spec:
topologySpreadConstraints:
- maxSkew: 1 topologyKey: topology. kubernetes. io/zone whenUnsatisfiable: DoNotSchedule labelSelector: { matchLabels: { app: api } }

13. 3 DNA 체중 감량 (아이디어)

'eu' 가 자동으로 'us' 로 이동할 때 'weight (eu) = 90', 'weight (us) = 10' → 건강 검진 및 TTL을 낮췄습니다 (그러나 너무 공격적이지는 않지만 30-120 초).

14) Prod 준비 점검표

  • 서비스 당 RTO/RPO는 비즈니스에 정의되고 합의되었습니다.
  • AZ 전역에 무국적자 분포; 정족수/복제와 명확한 일관성 모델이 있습니다.
  • 교차 지역 복제 (asynchron/CDC), 충돌/중복 제거 테스트.
  • GSLB/Anycast가 구성되고 건강 검진과 가중치가 자동화됩니다.
  • Kubernetes: 토폴로지 확산, PDB, 친 화성 방지; 다중 클러스터 GitOps.
  • 지터가있는 Retrai, 쓰기시 demempotency; 지역간에 짧은 타임 아웃.
  • DR 연습, 실제 RTO/RPO 측정; 현재 런북.
  • 지역/AZ, SLO 및 섹션의 연소 속도 별 관찰 가능성, 경고는 정상 작동을 "잼" 하지 않습니다.
  • 데이터 레지던트/비밀/키는 규제 요구 사항을 준수합니다.
  • 경제학: 제어중인 출구, 보관, 자동 스케일 프로파일.

15) TL; DR

다중 AZ를 기본 계층으로, 다중 지역을 비즈니스 보험으로 구축하십시오. RTO/RPO 및 비용에 대한 패턴 (활성/대기) 을 선택하고 의식적으로 데이터를 복제하고 (쿼럼/CDC/CRDT) GSLB/Anycast 및 위치 인식 밸런싱을 통해 글로벌 트래픽을 관리합니다. 필수: dempotency, 짧은 타임 아웃, 정기적 인 DR 연습, 지역/AZ 슬라이스의 SLO/메트릭. iGaming/Finance의 경우 관할권별로 지역 PSP/KYC, 데이터 요구 사항 및 분할 SLO를 추가하십시오.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

Telegram
@Gamble_GC
통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.