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:
- a sincronização com o servidor informará quais alterações você precisa
- os colegas fornecerão todos os dados, veiculados em paralelo, garantindo a velocidade máxima no download total
- 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.