Solução para backup, versionamento e replicação de dados de arquivos

Solução para backup, versionamento e replicação de dados de arquivos

Temos um conjunto crescente de arquivos de dados (arquivos .wav, arquivos de imagem, etc.) que são dados, ou seja, não fazem parte do código do aplicativo - carregados e modificados pelos usuários. O número de arquivos está na casa dos 1000 e o tamanho total chega a GBs.

Temos vários clusters de servidores em diferentes locais ao redor do mundo (EUA, UE, ME). Em cada cluster é importante que os dados sejam servidos localmente e não pelo S3 (os arquivos de dados não são servidos diretamente aos clientes, mas são processados ​​pelos servidores). Queremos designar um servidor de arquivos em cada local que servirá os arquivos via NFS para os outros nós no mesmo cluster.

Portanto, o resultado final é:

  • Os arquivos carregados por meio do aplicativo devem terminar em S3.
  • Cada nó do servidor de arquivos deve replicar esses arquivos.

Vemos várias opções:

  • Usando um originservidor de arquivos que replica S3para backup/versionamento e para os nós via rsync(ou similar).
  • O mesmo que acima, mas os escravos replicam S3usando algo como a ferramenta S3 ou similar.
  • Não usar um origin- o código do aplicativo é carregado diretamente para S3e os escravos replicam como acima.

Estávamos nos perguntando qual é a solução recomendada e quais ferramentas estão disponíveis para a parte de replicação (ou seja, na categoria sistema de arquivos para sistema de arquivos e na categoria sistema de arquivos/S3).

informação relacionada