zsync vs. jigdo

6

Qual é a diferença entre zsync e jigdo Sua principal funcionalidade parece a mesma , por isso estou curioso sobre coisas como desempenho, arquivo tamanho e facilidade de uso. Também seria interessante saber por que alguém foi criado quando já existia.

    
por Tshepang 15.12.2010 / 06:38

3 respostas

3

IIRC, o Jigdo permite que você quebre os arquivos dentro de um ISO e extraia os arquivos individuais de outros servidores.

Caso em questão: o Jigdo costumava ser a maneira preferida de obter arquivos ISO da Debian. O arquivo de configuração do Jigdo que você baixou iria direcionar o cliente Jigdo a baixar todos os arquivos dos servidores / espelhos de distribuição regulares, usando os protocolos FTP ou HTTP. Em seguida, ele criaria o lado do cliente ISO. Pode começar com um ISO existente e "atualizar" ou adicionar coisas que você não teve tempo de baixar e adicionar antes. No entanto, se um dos arquivos .deb (que são compactados) no ISO for alterado, você terá que baixar o arquivo .deb inteiro para reconstruir o ISO.

O RSync analisa o que você baixou e o que é "atual" no servidor, faz o download dos diffs e corrige os arquivos. Conseqüentemente, se você tiver baixado o arquivo ISO de 650 MB, executar o RSync nele e uma versão do lado do servidor do arquivo ISO só fará o download do que foi alterado. Isso permite que você "mantenha" uma pasta ou arquivo, relativo a outro servidor. Esse servidor, no entanto, precisa suportar o protocolo RSync e terá uma carga de CPU bastante alta sempre que alguém quiser sincronizar com ele. Por fim, ele não funciona tão bem para arquivos compactados, porque uma pequena alteração na versão descompactada pode levar a alterações MUITO significativas na versão compactada. Consequentemente, alterar alguns arquivos dentro de um arquivo .deb no ISO resultará no download de todo o novo arquivo .deb, não muito diferente do Jigdo.

O ZSync funciona sobre HTTP, portanto, não é necessário suporte especial ao protocolo. O ZSync empurra a carga da CPU para o cliente, em vez do servidor, para que funcione melhor quando há um grande número de usuários sincronizando com um servidor centralizado. Por fim, pequenas alterações nas versões não compactadas dos arquivos resultarão em downloads muito pequenos sobre o ZSync, mesmo que o arquivo compactado resultante tenha alterações significativas. Se você tiver um ISO contendo milhares de arquivos .deb e alterar alguns arquivos em um dos arquivos .deb, o ZSync baixará apenas informações suficientes para corrigir o arquivo .deb desatualizado e compactá-lo novamente conforme necessário , em seguida, verifique as assinaturas do CRC ou MD5 e conclua o processo. Menos largura de banda usada, menos CPU do lado do servidor usada, nenhum protocolo especial necessário.

Quando eles podem mesclar tudo isso com o BitTorrent, eles têm um vencedor. Quando isso acontece:

  1. a sincronização com o servidor informará quais alterações você precisa
  2. os colegas fornecerão todos os dados, veiculados em paralelo, garantindo a velocidade máxima no download total
  3. as somas de verificação e os hashes do servidor garantirão que nenhum ponto forneça dados falsos

Isso usaria ainda menos largura de banda no servidor e resultaria em atualizações ainda mais rápidas. Alguém sabe de um sistema / protco como esse? A última vez que verifiquei, o BitTorrent não permite que você "atualize" uma cópia existente de um arquivo.

    
por 23.03.2012 / 20:44
3

Para um novo projeto, o uso de software desenvolvido ativamente terá muitas vantagens sobre o software congelado. O que o seu projeto precisará em um ano e o Jigdo fornecerá essa nova funcionalidade?

Agora, não consegui encontrar evidências para confirmar isso, então alguém, por favor, me corrija. Eu acredito que:

  • O jigdo permite que os clientes baixem partes de múltiplos espelhos diferentes, semelhantes ao bittorrent. Isso reduz muito a carga no espelho central.
  • O zsync foi projetado para um único espelho central.
por 15.12.2010 / 19:33
1

O jigdo pode ser difícil de usar. No mundo de hoje, se você precisa de distribuição distribuída de arquivos (cara, isso não parece estranho), provavelmente é melhor usar o BitTorrent. Pode não ser tão bom para atualizações ou melhorias incrementais, mas é uma maneira incrível de distribuir a carga em toda a Internet, claro, com participação suficiente.

Se o que você precisa é um meio de fazer atualizações incrementais, talvez como um espelho central para sites espalhados, ou mesmo de uma coleção de espelhos para usuários finais, eu recomendo usar o modo daemon do rsync para expor módulos que podem ser sincronizados.

Honestamente, qual ferramenta usar depende do seu público, embora eu possa dizer que, se o seu público não for paciente, o jigdo está completamente fora de questão.

    
por 16.12.2010 / 22:23