의사결정 매트릭스: 무엇을 먼저 쪼갤까
크로스 리전 팜에 표를 먼저 붙이세요. 실무 심화는 rsync·빌드 락 매트릭스, 셸은 Mosh vs SSH, 존 분리는 OpenClaw 멀티 AZ를 보세요.
| 제어 축 | 1차 레버 | 좋은 결과 | 전형적 실패 |
|---|---|---|---|
| 분할 DNS | 리전별 뷰 또는 지오 스티어링으로 registry.git.internal 응답 |
도시마다 잡 YAML을 고치지 않고 가장 가까운 건강한 오리진으로 해석. | 낡은 TTL로 장애 시 원치 않는 대륙 우회. |
| 사내 制品库 | 리전 로컬 리버스 프록시 + 공유 서명 키 | 풀 지연이 수락 봉투 안에 유지. | HTTP/HTTPS 혼재·CA 불일치. |
| 빌드 락 | 승격·인덱스 게시·매니페스트 쓰기에만 좁은 flock | 병렬 Mac mini 워커가 계속 병렬. | 글로벌 락으로 컴파일까지 직렬화. |
| 동기 경로 | rsync 팬아웃 vs 바이트 범위 읽기 가능한 오브젝트 스토리지 | 대역폭·체크섬 의미가 예측 가능. | 풀 트리 복사로 업링크 포화. |
DNS 뷰와 해석 전략
분할 DNS는 제품 기능으로 다루세요. 지리별 리졸버는 동일 논리 이름에 리전 로컬·헬스 통과 목표를 돌려줍니다. 권위 레코드·재귀 포워더·브레이크글라스용 /etc/hosts를 문서화하세요.
페일오버 쌍 TTL을 육십~백이십초로 낮춘 뒤 싱가포르·미국 서부 등에 노드를 붙이면 캐시 전에 트래픽을 옮기기 쉽습니다. 리졸버 장애 시 보조 이름으로 내려가는 네거티브 테스트를 필수로 하세요.
사내 오리진 경로와 TLS
制品库 오리진은 환경당 HTTPS 호스트 하나·프록시 HTTP/2가 읽기 쉽습니다. TLS는 리전 간 중간 인증서 또는 신뢰 저장소 동기 플레이북으로 맞추세요. 헤드리스 CI의 키체인 프롬프트를 피합니다.
평문 HTTP 미러와 HTTPS 승격 대상을 섞지 마세요. 레거시 캐시는 리라이트 뒤 격리하고 공개 이름에 HSTS를 강제하세요.
# 예: 리전 클래스별 호스트에서 레지스트리 TLS 확인 curl --max-time 8 --connect-timeout 3 -fsS \ --resolve registry.git.internal:443:10.20.30.40 \ https://registry.git.internal/v2/ >/dev/null
빌드 락 세분도
빌드 락은 동일 POSIX·인덱스·매니페스트를 깨뜨릴 수 있을 때만 배타 락을 잡으세요. 컴파일·대부분 테스트는 락 없이, 경합은 승격 경계에 둡니다.
LOCK_FILE="/var/tmp/ci-registry-promote.lock"
flock -n "$LOCK_FILE" bash -c '
./scripts/publish-manifest.sh
rsync -az --delete ./staging/ "/Volumes/Artifacts/promote/"
' || { echo "promote lock busy"; exit 17; }
락 파일은 SSHFS가 아니라 지연 낮은 로컬 SSD에 두세요. 랙을 넘는 조율이 필요하면 작은 합의 서비스를 도입하되, Mac 쪽 계약은 동일하게 유지해 운영자가 런북에서 flock 의미를 그대로 읽게 하세요.
rsync·오브젝트 스토리지 동기 임계
증분 트리·대역폭 상한·체크섬이 우선이면 rsync, 다수 Mac이 동일 대용량 블롭을 동시에 당기면 오브젝트 스토리지를 검토하세요.
| 신호 | rsync 유리 | 오브젝트 스토리지 유리 |
|---|---|---|
| 아티팩트 크기 중앙값 | 동기 잡당 대략 오 기가바이트 미만 | 수백 기가바이트 또는 광폭 팬아웃이 잦음 |
| 동시성 패턴 | 골든→워커 소수 스트림 + --bwlimit |
수분 안에 동일 키를 많은 리더가 당김 |
| 운영 예산 | SSH·POSIX 경로로 이미 표준화 | S3 호환 도구·IAM 순환이 갖춰짐 |
/usr/bin/timeout으로 동기 상한을 박고 124를 메트릭으로 남기며, 주간 체크섬 드라이런으로 비트로트를 막으세요.
지연 검수
- 레지스트리 풀: 로컬 오리진 p95 3초 미만.
- SSH: 병렬 Mac mini까지 RTT 중앙값 70ms 미만.
- 승격: 락 포함 E2E 2분 미만(주간 최대 번들).
- 페일오버: hosts 없이 한 TTL 안 DNS 전환.
수치가 반복되면 락 확대 대신 릴레이 지리를 추가하세요. 홍콩·미국 동부 노드로 RTT를 줄입니다. 기술 문서·구매 참고.
빌드 락·인프라 병합 검수 체크리스트
DNS·오리진·락 범위를 바꾸는 머지 전, 새 리전 온보딩 시 아래를 통과시키세요.
- DNS: 리전별 dig로 로컬 VIP 일치.
- TLS: 동일 체인·GUI 없이 로테이션 검증.
- 락: 승격만 배타, 런북 명시.
- 동기: 예상 동시성에서 타임아웃 내 드라이런.
- 지연: 지리별 합성 풀 통과.
- 롤백: 이전 DNS·엔드포인트 한 창 유지.
FAQ: 분할 DNS·制品库·구매 맥락
리전별 호스트명? 분할 뷰가 정확하면 논리 이름 통일 가능. 별도 이름은 디버깅엔 유리하나 인증서 비용 증가—한 스타일로 자동 갱신하세요.
지연 괜찮으면 DNS 분할 생략? 장애·장기 휴일에 드러납니다. 분할 뷰로 페일오버와 시크릿 대량 수정을 줄이세요.
clustervps 다중 노드? 리전별 검수 편차는 지리 추가가 답인 경우가 많습니다. 요금제 비교 후 노드를 맞춰 DNS·레지스트리·팬아웃을 로컬화하세요.
지리별로 병렬 Mac mini M4를 늘리세요
분할 DNS·리전 制品库는 clustervps 다중 노드와 짝이 좋습니다. rsync 매트릭스로 대역폭을 맞추고 토폴로지 변경마다 병합 체크리스트를 재실행하세요.