데브허브 | DEVHUB | Perforce Workflows That Scale from Small to Large Teams | Unreal Fest Stockholm 2025Perforce Workflows That Scale from Small to Large Teams | Unreal Fest Stockholm 2025
- Perforce는 단일 서버에서 시작하여 프록시, 포워딩 레플리카, 엣지 서버로 확장 가능한 다양한 서버 토폴로지를 제공하며, 각 단계마다 성능 향상과 관리 복잡성 증가가 동반됩니다. 📈
- 프록시 서버는 파일 캐싱을 통해 동기화 속도를 높이고 설정이 간편하며, 지리적으로 분산된 사용자에게는 사용자별 프록시 설정으로 최적의 성능을 제공할 수 있습니다. 🚀
- 포워딩 레플리카는 읽기 전용 작업에 대한 메타데이터 캐싱을 추가하여 성능을 향상시키며, 프록시와 마찬가지로 임시적이라 별도의 재해 복구 전략이 필요 없습니다. 📚
- 엣지 서버는 가장 복잡한 토폴로지로, 일부 쓰기 작업을 로컬에서 처리하여 커밋 서버의 부하를 줄이지만, 각 엣지 서버에 대한 스탠바이 서버와 클라이언트 이동 시 언로드/리로드 과정이 필요합니다. 🛡️
- 향후 엣지 서버의 클라이언트 관리 비효율성을 개선하기 위해 클라이언트 정보를 클라이언트 자체로 푸시하여 언로드/리로드 없이 자동 라우팅이 가능하도록 개발 중입니다. 🎯
- 스트림은 워크스페이스 뷰를 정의하고 병합 규칙을 적용하며, 'import' 및 '스트림 컴포넌트'와 같은 강력한 기능을 제공하여 브랜칭 작업을 효율적으로 만듭니다. ✨
- 개발 스트림은 실험적인 작업을 위해 '병합 다운, 복사 업' 워크플로우를 통해 메인라인의 안정성을 유지하며, 릴리스 스트림은 특정 시점의 코드 상태를 반영하는 안정적인 코드라인으로 사용됩니다. ↔️
- 현재 가상 스트림으로 처리하는 개별 사용자별 필터링된 뷰는 2025.2 버전부터 클라이언트 스펙의 'limit view' 필드를 통해 가상 스트림 없이 구현 가능해져 복잡성을 줄일 예정입니다. 🆕
- 스파스 스트림(Sparse Streams)은 기존 Perforce 브랜칭의 무거운 메타데이터 복제 문제를 해결하기 위해 초기에는 메타데이터를 복제하지 않고, 파일 수정 시에만 메타데이터를 브랜칭하여 브랜칭 비용을 크게 절감합니다. 💡