Об этом проекте

FastDFS — это распределённая файловая система (DFS) с открытым исходным кодом и высокой производительностью, предназначенная для хранения, синхронизации и доступа (загрузки и скачивания) к файлам. Она решает задачи высокой ёмкости и балансировки нагрузки, что делает её подходящей для файловых сервисов, таких как сайты обмена фотографиями и видео. Ключевые особенности включают: - Группированные серверы хранения с простой и гибкой одноранговой структурой, исключающей единые точки отказа - Идентификаторы файлов, генерируемые FastDFS, служат учётными данными для доступа к файлам, что устраняет необходимость в традиционных серверах имён или метаданных - Поддержка больших, средних и малых файлов, включая объединённое хранение для малых файлов, чтобы обрабатывать огромное количество мелких файлов - Серверы хранения поддерживают несколько дисков с восстановлением данных при сбое одного диска - Модуль расширения nginx для бесшовной интеграции с nginx - Поддержка IPv6, NAT-сетей и развёртывания в нескольких центрах обработки данных или в гибридном облаке - Разделение чтения и записи и аварийное резервирование между центрами обработки данных - API для операций усечения, добавления и изменения файлов appender - Многопоточная загрузка и скачивание файлов с поддержкой возобновления с точки разрыва Архитектура: FastDFS работает с двумя ролями: tracker и storage. Tracker отвечает за планирование и балансировку нагрузки при доступе к файлам, а серверы storage хранят файлы и управляют метаданными файлов (пары ключ-значение, например, width=1024). Кластеры tracker и storage могут добавлять или удалять серверы без влияния на онлайн-сервисы. Серверы хранения организованы в файловые группы для высокой ёмкости, при этом серверы внутри группы резервируют друг друга и балансируют нагрузку. При недостаточной ёмкости хранения можно добавить дополнительные группы для расширения. Идентификация файла состоит из двух частей: имени группы и имени файла. Клиентские SDK доступны для: - Язык C (включён в исходный код) - Расширение PHP (включено в исходный код) - Java SDK (отдельный репозиторий) - Go SDK (отдельный репозиторий) FastDFS — это лёгкое объектное хранилище. Для общих распределённых файловых систем, требующих строгой согласованности данных для баз данных, K8s и виртуальных машин, рекомендуется использовать FastCFS в качестве альтернативы.