rsync는 작은 하나의 파일을 동기화하는 데 좋은 옵션입니까?


0

나는 느리고 불안정한 전화 접속 모뎀 연결을 통해 비교적 작은 하나의 파일을 최신 상태로 유지해야합니다.

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

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

나는 rsync가 독점적 인 (그리고 결함이있는) "delta-only"프로토콜을 개발하는 것을 막을 수 있다고 생각했다. rsync가이 특별한 경우에 진정한 이점을 제공하는지 궁금합니다.

그래서, 질문은 : rsync 프로토콜이 15K에서 500K까지의 단일 파일에 잘 맞습니까?


이 단방향 또는 양방향 데이터 복제입니까?
Nick

단방향 복제입니다.
Sebastián Grignoli

답변:


0

이 경우가 아닙니다. 너는 뭔가를 사용하는 것이 더 낫다. diffxml 파일 간의 차이점 만 업데이트로 보내고 대상 컴퓨터에 패치를 적용합니다.


이유를 설명해 주시겠습니까? diffxml 솔루션의 단점은 XML을 해결할 솔루션을 코딩해야하고 원본 서버에있는 XML의 모든 오래된 버전의 사본을 보관하여 diff를 계산해야한다는 것입니다.
Sebastián Grignoli

XML 문서의 시작 부분에서의 변경은 문서 끝의 변경보다 rsync를 사용하여 전송하는 것이 더 많은 작업을 요구하지만, 변경 한 곳과 관계없이 diffxml을 사용하면 거의 동일합니다.
Ignacio Vazquez-Abrams

diffxml은 대역폭 분석을 목적으로하지 않고보다 분석적인 도구처럼 보입니다.
Sebastián Grignoli

1
또한, 난 그냥 로컬 rsync를 시도 하고이 파일 크기와 전혀 대역폭 사용량을 줄일 것으로 보이지 않습니다. 나는이 일에 힘내를 사용하는 것을 생각하기 시작했다.
Sebastián Grignoli

@ SebastiánGrignoli 지금 막 Repo에 넣고 그런 식으로 동기화하라는 답변을 작성하려고했습니다. 여러 업데이트가 병합되고 청크됩니다. +1.
Nick

0

글쎄, 나는 rsync로 해냈다. 그리고 나는 그것이 잘 작동한다고 말할 필요가있다.

그것은 너무 적은 데이터를 전송하므로 좁은 다이얼 업 연결 (광대역과 함께 사용했던 이전 주파수보다 1/3!)에서 업데이트 빈도를 20 초로 단축 할 수있었습니다.

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

업데이트에 대한 변경 사항이 없을 때 버전을 확인하면 500 바이트를 덜 다운로드하고 100 바이트를 업로드합니다! (정규 채팅 세션에서 더 많은 바이트를 전송합니다!)

다른 diff 솔루션보다 나아졌으며 그 주위에 아무것도 프로그래밍 할 필요가 없었습니다. (이전에는 rcync를 실행하기 위해 push 메카니즘을 추가 할 생각 이었지만 아직 필요하지는 않습니다. 20 초가 걸리며 폴링은 매우 가볍습니다.)

가는 길, rsync!

추신 : 나는 힘내를 시도하지 않았고 아마도 좋은 해결책이었을 것이다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.