Quiero crear una sección de un sitio web donde los usuarios puedan cargar archivos (por ejemplo, mods de juegos) y otros usuarios puedan descargarlos.
Quiero que esto pueda escalar y alojar miles de archivos con miles de usuarios, entonces, ¿cómo haría para crear esto y cuál sería la mejor arquitectura para esto? Estoy construyendo el backend con NodeJS y Express.
Primero, para escalar, debe separar el almacenamiento de archivos de la API. Puede usar una cuenta de Azure Storage , AWS S3 u otra solución de almacenamiento en la nube.
Luego, para minimizar la configuración de escalabilidad en el backend, puede usar funciones sin servidor, disponibles también en todos los principales proveedores de nube.
Si necesita mantener la API Express convencional, puede usar un servicio PaaS para NodeJS, lo que facilitará la implementación.
Puede hacer todo eso en las instalaciones o en una VM también, pero eliminará todos los beneficios listos para usar.