멀티 Mac mini M4에서 빌드를 나눠도 산출물은 하나의 트리로 수렴해야 합니다. 병목은 CPU보다 아티팩트 일관성·디스크·리전 지연에 자주 숨습니다. 단일 노드 감각은 프리랜서 사례를 보고 본문은 병렬 클러스터에 집중합니다.
병렬 클러스터가 멈추는 대표 원인
전용 맥 노드 다수 운영 시 흔한 리스크 세 가지입니다. 매트릭스와 표를 런북에 붙이면 온콜이 빨라집니다.
- 분열: 두 잡이 같은 폴더에 쓰면 프레임워크가 깨집니다.
- 폭풍: 리전 전체 복사가 업링크를 잡아먹습니다.
- 절벽: 파생 데이터가 볼륨을 채우다 캐시가 중간에 끊깁니다.
의사결정 매트릭스
| 패턴 | 적합 시점 | 리스크 |
|---|---|---|
| 단일 라이터 승격 | 출처와 서명이 엄격할 때 | 라이터 노드가 핫스팟 |
| 골든 노드 rsync 팬아웃 | 읽기 위주 증분 바이너리 | 대역폭 상한만 지키면 예측 가능 |
| 오브젝트 스토어 전면 | 초대형과 이그레스 계약 | 맥OS 통합 비용이 큼 |
팀은 보통 알싱크 팬아웃으로 시작하고 승격만 단일 디렉터리로 묶습니다. 노드는 구매 페이지에서 맞춥니다.
알싱크 프로파일과 타임아웃
리전마다 대역폭이 다르므로 셸 프로파일로 플래그를 고정하세요. 예시는 골든에서 로컬로 증분 동기화합니다.
#!/usr/bin/env bash
set -euo pipefail
PROFILE="${1:-apac}"
case "$PROFILE" in
apac) BW="60000"; TIMEOUT="25m";;
amer) BW="45000"; TIMEOUT="35m";;
*) BW="30000"; TIMEOUT="40m";;
esac
/usr/bin/timeout "$TIMEOUT" rsync -azh --delete-delay --partial \
--checksum --bwlimit="$BW" --omit-dir-times \
"$GOLDEN_HOST:$GOLDEN_PATH/" "$LOCAL_ARTIFACT_ROOT/"
| 옵션 | 역할 | 운영 팁 |
|---|---|---|
| 삭제지연 | 끝에서만 삭제 확정 | 부분 트리 노출 감소 |
| 부분재개 | 이어받기 | 타임아웃과 병행 |
| 대역폭제한 | 킬로바이트초 상한 | 피크 시간 필수 |
| 타임아웃 | 벽시계 한도 | 종료 백이십사 기록 |
공유 트리 빌드 락
승격 경로에 배타 플록을 두어 한 잡만 트리를 바꾸게 하세요. 락 파일은 로컬 빠른 디스크에 두세요.
LOCK_FILE="/var/tmp/ci-artifact-promote.lock"
flock -n "$LOCK_FILE" bash -c '
./scripts/compile.sh
rsync -az --delete ./out/ "/Volumes/Artifacts/promote/"
' || { echo "lock busy"; exit 17; }
일테라바이트와 이테라바이트 용량 수위
칠십
파생데이터 정리 강화
팔십
노란 경보 상향 검토
구십
빨간 경보 잡 중단
이테라 플랜도 캐시가 쌓이면 빠릅니다. 구십은 하드 스톱으로 보세요. 단계 비교는 가격 안내를 보세요.
리전 지연 체크리스트
- 원격 셸: 브이피엔에서 노드로 중앙 왕복 칠십밀리초 목표
- 알싱크: 주간 드라이런 체크섬 기록
- 깃: 최대 슬라이스 페치 오분 이내
- 원격 화면: 동시 두 명이 붙어도 끊김 없음
아세안에서 미서부 빌드면 도쿄 릴레이가 유리합니다. 도쿄 구매와 기술 문서를 함께 보세요.
다섯 단계 런북
- 지리별 골든 노드와 셸 별칭을 문서화합니다.
- 프로파일별 알싱크에 타임아웃과 대역폭을 박습니다.
- 승격만 플록으로 감싸고 컴파일은 병렬을 유지합니다.
- 디스크 팔십에서 페이저를 연동합니다.
- 네트워크 변경 후 체크리스트를 다시 돌립니다.
헬스 체크에도 짧은 타임아웃을 씁니다.
curl --max-time 8 --connect-timeout 3 -fsS \ https://status.example.internal/artifact-ready >/dev/null
운영 FAQ
깃 대신 알싱크? 소스는 깃 대용량은 알싱크가 유리합니다.
플록 실패? 락 구간을 승격만으로 좁히세요.
두 번째 리전? 체크리스트를 두 번 넘기면 분리 후 재측정합니다.
운영 가이드이며 계약 수치는 아닙니다. 삭제 전 드라이런을 확인하세요.