수십 대의 서버에 파일을 빠르게 전송

수십 대의 서버에 파일을 빠르게 전송

우리는 기계 클러스터를 보유하고 있습니다(약 50개, 계속 증가하고 있음). 각 컴퓨터에는 하루에 여러 번 업데이트해야 하는 검색 색인이 있습니다. 현재는 각 머신의 인덱스를 개별적으로 업데이트하지만 이상적으로는 한 머신에서 업데이트한 다음 새 파일을 클러스터의 나머지 부분과 동기화할 수 있습니다. 처음에는 이를 처리하기 위해 rsync를 사용했지만 시스템 수가 증가함에 따라 이 솔루션은 확장할 수 없다는 것이 분명해졌습니다. 저는 방금 멀티캐스트 파일 전송에 대해 연구하기 시작했습니다. 이곳에서 볼만한 곳을 추천해 줄 수 있는 경험이 있는 사람이 있나요?

답변1

예전에 면접 질문이었는데..

멀티캐스트 옵션:
BitTorrent
발행/구독 메시징을 사용하는 기타 프로토콜.

또 다른 접근 방식... 배포 트리를 사용합니다.
N 호스트에 보내고, N 호스트는 차례로 N 호스트에 보냅니다. 그런 식으로 나무 아래로 작업하십시오. 물론 이를 위해서는 일부 개발 작업이 필요하지만 아마도 더 확장 가능한 접근 방식일 것입니다.

이 중 대부분은 실제로 처리해야 하는 시스템 수, 인덱스 크기 및 네트워킹 인프라에 따라 달라집니다.

답변2

공유 파일 시스템을 사용하면 더 나은 서비스를 받을 수 있습니다. 특히 검색 색인을 사용하는 앱(예: 대상 끝)에서 검색 색인이 읽기 전용인 경우 더욱 그렇습니다. 그렇게 하면 복잡성의 대부분이 해결됩니다.

답변3

비트토렌트를 사용해 보세요. 여러 호스트에 파일을 빠르게 분산시키도록 설계되었습니다. 멀티캐스트는 네트워크 엔지니어를 고통스럽게 만들 것입니다 :)

답변4

git을 보는 것이 좋습니다. 나는 과거에 한 서버에서 변경 사항을 적용하고 이를 푸시하거나 다른 서버에서 크론 작업을 수행하여 이를 풀다운하는 데 이를 사용했습니다. 솔루션에는 상당한 유연성이 있습니다.

관련 정보