Tenemos un conjunto cada vez mayor de archivos de datos (archivos .wav, archivos de imágenes, etc.) que son datos, es decir, que no forman parte del código de la aplicación, que los usuarios cargan y modifican. La cantidad de archivos es de miles y el tamaño total alcanza los GB.
Tenemos varios grupos de servidores en diferentes ubicaciones alrededor del mundo (EE.UU., UE, ME). En cada clúster es importante que los datos se entreguen localmente y no desde S3 (los archivos de datos no se entregan directamente a los clientes, sino que los procesan los servidores). Queremos designar un servidor de archivos en cada ubicación que entregará los archivos a través de NFS a los otros nodos en el mismo clúster.
Entonces la conclusión es:
- Los archivos cargados a través de la aplicación deberían terminar en formato
S3
. - Cada nodo del servidor de archivos debe replicar esos archivos.
Vemos varias opciones:
- Usar un
origin
servidor de archivos que se replica paraS3
realizar copias de seguridad/versiones y a los nodos a través dersync
(o similar). - Igual que el anterior, pero los esclavos se replican
S3
usando algo como la herramienta S3 o similar. - Al no utilizar una
origin
aplicación, el código se carga directamenteS3
y los esclavos se replican como se indica arriba.
Nos preguntamos cuál es la solución recomendada y qué herramientas están disponibles para la parte de replicación (es decir, en la categoría de sistema de archivos a sistema de archivos y en la categoría de sistema de archivos/S3).