zsync 및 jigdo

zsync 및 jigdo

차이점이 뭐야동기화그리고지구도? 핵심 기능똑같이 생겼어, 그래서 성능, 파일 크기, 사용 편의성과 같은 측면이 궁금합니다. 이미 존재하는 것인데 왜 만들어졌는지를 아는 것도 흥미롭습니다.

답변1

IIRC, Jigdo를 사용하면 ISO의 파일을 분할하고 다른 서버에서 개별 파일을 추출할 수 있습니다.

적절한 사례: Jigdo는 Debian ISO 파일을 얻는 데 사용되는 방법이었습니다. 다운로드한 Jigdo 구성 파일은 Jigdo 클라이언트에게 FTP 또는 HTTP 프로토콜을 사용하여 일반 배포 서버/미러에서 모든 파일을 다운로드하도록 지시합니다. 그런 다음 ISO 클라이언트를 빌드합니다. 기존 ISO로 시작하여 이를 "업데이트"하거나 이전에 다운로드하여 추가할 시간이 없었던 콘텐츠를 추가할 수 있습니다. 그러나 ISO의 .deb 파일(압축) 중 하나가 변경되면 전체 .deb 파일을 다운로드하여 ISO를 다시 빌드해야 합니다.

RSync는 다운로드한 항목과 서버의 "현재" 항목을 살펴보고 차이점을 다운로드한 다음 파일을 패치합니다. 따라서 650MB ISO 파일을 다운로드하는 경우 RSync를 실행하면 ISO 파일의 서버측 버전은 변경된 콘텐츠만 다운로드합니다. 이를 통해 다른 서버와 관련된 폴더나 파일을 "유지"할 수 있습니다. 그러나 서버는 RSync 프로토콜을 지원해야 하며 누군가가 서버와 동기화하려고 할 때마다 CPU 로드가 상당히 높아집니다. 마지막으로, 압축되지 않은 버전의 작은 변경이 압축된 버전의 매우 중요한 변경으로 이어질 수 있기 때문에 압축된 파일에서는 제대로 작동하지 않습니다. 따라서 ISO의 .deb 파일에서 여러 파일을 변경하면 Jigdo와 달리 전체 새 .deb 파일이 다운로드됩니다.

ZSync는 HTTP를 통해 작동하므로 특별한 프로토콜 지원이 필요하지 않습니다. ZSync는 CPU 부하를 서버가 아닌 클라이언트로 푸시하므로 중앙 집중식 서버와 동기화하는 사용자가 많을 때 더 잘 작동합니다. 마지막으로, 압축되지 않은 버전의 파일을 조금만 변경하면 결과적으로 압축된 파일에 상당한 변경이 있더라도 ZSync에서 다운로드되는 양이 매우 적습니다. 수천 개의 .deb 파일이 포함된 ISO가 있고 .deb 파일 중 하나에서 몇 개의 파일을 변경하는 경우 ZSync는 오래된 .deb 파일을 패치하고 필요한 경우 다시 압축하는 데 충분한 정보를 다운로드한 다음 CRC 또는 MD5 서명을 하면 됩니다. 더 적은 대역폭을 사용하고 서버 측 CPU를 덜 사용하며 특별한 프로토콜이 필요하지 않습니다.

이 모든 것을 BitTorrent와 병합할 수 있었을 때 그들은 승자를 얻었습니다. 이런 일이 발생하면:

  1. 서버와 동기화하면 어떤 변경이 필요한지 알려줍니다.
  2. 모든 데이터는 피어에 의해 병렬로 제공되므로 총 다운로드 속도가 최대화됩니다.
  3. 서버의 체크섬과 해시는 어떤 피어도 잘못된 데이터를 제공하지 않도록 보장합니다.

이렇게 하면 서버 대역폭을 덜 사용하고 업데이트 속도가 빨라집니다. 그러한 프로토콜/시스템을 아는 사람이 있습니까? 지난 번 확인했을 때 BitTorrent에서는 파일의 기존 복사본을 "업데이트"하는 것을 허용하지 않습니다.

답변2

새로운 프로젝트의 경우 동결된 소프트웨어보다 적극적으로 개발된 소프트웨어를 사용하면 많은 이점이 있습니다. 지금부터 1년 동안 귀하의 프로젝트에 무엇이 필요합니까? Jigdo가 이 새로운 기능을 제공합니까?

지금은 이를 뒷받침할 증거를 찾을 수 없으니 누군가 제 말을 바로잡아 주세요. 나는 믿는다:

  • jigdo를 사용하면 클라이언트가 bittorrent와 유사하게 여러 다른 미러에서 청크를 다운로드할 수 있습니다. 이는 중앙 미러의 부하를 크게 줄여줍니다.
  • zsync는 단일 중앙 미러용으로 설계되었습니다.

답변3

jigdo는 사용하기 어려울 수 있습니다. 오늘날 세계에서 분산 파일 배포가 필요한 경우(이상하게 들리시나요?) BitTorrent를 사용하는 것이 더 좋습니다. 업데이트나 점진적인 개선에는 큰 도움이 되지 않을 수도 있지만, 물론 충분한 참여가 있다는 가정 하에 인터넷을 통해 부하를 분산시키는 좋은 방법입니다.

필요한 것이 팬아웃 사이트의 중앙 미러로 또는 최종 사용자에게 미러 모음으로 증분 업데이트를 수행하는 방법이라면 rsync의 데몬 모드를 사용하여 동기화를 유지할 수 있는 항목을 노출하는 것이 좋습니다.

솔직히 어떤 도구를 사용할지는 청중에 따라 다르지만, 청중이 참을성 있는 무리가 아니라면 지그Doing은 아마도 전혀 불가능할 것입니다.

관련 정보