나는 당신이 말하는 저울에 git을 권장하지 않습니다. 작동 할 수는 있지만 개인적으로 해당 모델을 가져 오는 데 약간의 결함이 있습니다.
가장 좋은 방법을 결정하는 몇 가지 사항이 있습니다.
- 얼마나 큰 리포지토리를 공유해야합니까?
- 얼마나 빨리 수렴해야합니까?
완벽한 컨버전스와 최대 속도를 위해서는 NFSv4와 같은 네트워크 파일 시스템을 사용해야합니다. 내가 아는 클러스터 파일 시스템은 수백 개의 노드로 확장되지 않으므로 네트워크 파일 시스템이어야합니다. 이는 고유 한 문제가 있지만 NFS 헤드에서 파일이 업데이트되는 순간 컨버전스에 도달 할 수 있음을 의미합니다.
빠른 수렴을 위해 일부 rsync 속임수를 사용할 수 있습니다. rsync 데몬이 CPU 바운드 상태가되면 haproxy와 같은로드 밸런서 뒤에 2-3 개의 rsync 서버를 배치 할 수 있습니다. cron 작업과 결합하여 데이터를 가져 오거나 코드 업데이트를 트리거하는 다른 방법을 사용하면 컨버전스를 매우 빠르게 달성 할 수 있습니다.
위의 두 가지 경우 모두 처리량을 극대화하기 위해 중앙 저장소를 10GbE 링크에 배치하는 것이 좋습니다.
대안은 푸시 리싱이며, 중앙 리포지토리에서 실행되어 서버에 업데이트를 푸시합니다. 위의 속도만큼 빠르지는 않지만 내부 대역폭에 더 친숙합니다. 더 나은 속도를 위해 여러 호스트를 분할 범위로 푸시하십시오.