Sobre el proyecto

FastDFS es un sistema de archivos distribuido (DFS) de código abierto y alto rendimiento diseñado para gestionar el almacenamiento, la sincronización y el acceso a archivos (carga y descarga). Aborda los desafíos de alta capacidad y equilibrio de carga, lo que lo hace adecuado para servicios basados en archivos, como sitios para compartir fotos y videos. Las características clave incluyen: - Servidores de almacenamiento agrupados con una estructura peer-to-peer simple y flexible, que elimina los puntos únicos de fallo - Los ID de archivo generados por FastDFS sirven como credenciales para el acceso a archivos, lo que elimina la necesidad de servidores de nombres o servidores meta tradicionales - Compatibilidad con archivos grandes, medianos y pequeños, incluido el almacenamiento combinado para archivos pequeños a fin de gestionar cantidades masivas de archivos pequeños - Los servidores de almacenamiento admiten múltiples discos con recuperación de datos para fallos de un solo disco - Un módulo de extensión de nginx para una integración perfecta con nginx - Compatibilidad con IPv6, redes NAT y despliegue entre centros de datos o en nube híbrida - Separación de lectura y escritura y respaldo ante desastres entre centros de datos - API para operaciones de truncate, append y modify en archivos appender - Carga y descarga de archivos multiproceso con compatibilidad para reanudar desde un punto de interrupción Arquitectura: FastDFS funciona con dos roles: tracker y storage. El tracker gestiona la programación y el equilibrio de carga para el acceso a archivos, mientras que los servidores de almacenamiento almacenan archivos y gestionan metadatos de archivos (pares clave-valor como width=1024). Tanto en los clústeres de tracker como en los de storage se pueden agregar o quitar servidores sin afectar los servicios en línea. Los servidores de almacenamiento se organizan en grupos de archivos para lograr alta capacidad, y los servidores dentro de un grupo se respaldan entre sí y equilibran la carga. Cuando la capacidad de almacenamiento es insuficiente, se pueden agregar grupos adicionales para ampliar la capacidad. La identificación de archivos consta de dos partes: el nombre del grupo y el nombre del archivo. Hay SDK de cliente disponibles para: - Lenguaje C (incluido en el código fuente) - Extensión PHP (incluida en el código fuente) - SDK de Java (repositorio separado) - SDK de Go (repositorio separado) FastDFS es una solución de almacenamiento de objetos ligera. Para sistemas de archivos distribuidos generales que requieren una fuerte consistencia de datos para bases de datos, K8s y máquinas virtuales, se recomienda FastCFS como alternativa.