rsync는 단일 작은 파일의 동기화를 유지하는 데 좋은 옵션입니까?

rsync는 단일 작은 파일의 동기화를 유지하는 데 좋은 옵션입니까?

느리고 불안정한 전화 접속 모뎀 연결을 통해 상대적으로 작은 단일 파일을 최신 상태로 유지해야 합니다.

파일은 15K로 시작하여 2시간 후에 500K로 끝날 수 있는 XML입니다.

단방향 복제입니다. 현재 솔루션은 1분마다 전체 파일을 계속 다운로드합니다. 지금까지는 광대역 연결로 잘 작동했는데 이제는 전화 접속만 가능한 곳에서 사용해야 합니다. 다운로드가 느리기 때문에 "실시간 데이터"라는 환상이 사라집니다.

나는 rsync가 독점적인(그리고 효율적인) "델타 전용" 프로토콜을 개발하는 수고를 덜어줄 수 있다고 생각했습니다. 이 특별한 경우에 rsync가 실질적인 이점을 제공할 수 있을지 궁금합니다.

따라서 질문은 다음과 같습니다. rsync 프로토콜이 15K에서 500K까지의 단일 파일에 적합한가요?

답변1

이 경우에는 그렇지 않습니다. 다음과 같은 것을 사용하는 것이 좋습니다.diffxml파일 간의 차이점만 업데이트로 보내고 대상 컴퓨터에 패치를 적용합니다.

답변2

글쎄요, 저는 rsync로 해냈고, 잘 작동했다고 말씀드리고 싶습니다.

전송되는 데이터가 너무 적어서 좁은 전화 접속 연결 하에서 업데이트 빈도를 20초로 단축할 수 있었습니다(광대역에서 사용했던 이전 빈도의 1/3입니다!).

이제 800kb XML을 업데이트하려면 5kb 다운로드 + 800바이트 업로드가 필요합니다!

업데이트할 변경 사항이 없을 때 버전을 확인하는 데는 다운로드 500바이트 + 업로드 100바이트가 덜 걸립니다! (일반 채팅 세션에서 더 많은 바이트를 입력하여 전송합니다!)

다른 diff 솔루션보다 훨씬 낫고, 주변에 아무것도 프로그래밍할 필요가 없었습니다. (이전에 우리는 rsync를 실행하기 위해 푸시 메커니즘을 추가하려고 생각했지만 아직은 실제로 필요하지 않습니다. 20초가 허용되며 폴링은 매우 가볍습니다.)

잘가요, rsync!

추신: 저는 Git을 사용해보지 않았으며 아마도 좋은 해결책이었을 것입니다.

관련 정보