awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
sjqzhang avatar

sjqzhang/go-fastdfs

0
View on GitHub↗
4,138 stars·769 forks·Go·Unlicense·20 viewsgitee.com/sjqzhang/go-fastdfs↗

Go Fastdfs

go-fastdfs is a distributed file system and object storage server designed for building private cloud storage. It provides a FastDFS compatible storage implementation that manages clusters of storage nodes to handle large-scale file uploads and downloads.

The system focuses on high availability through a decentralized architecture that automatically synchronizes data and repairs failures across multiple machines without a central coordinator. It specifically supports resumable file storage via HTTP, allowing large transfers to be paused and resumed from the last successful byte to handle network instability.

Core capabilities include storage resource optimization through SHA1-based content deduplication and the merging of small files to reduce filesystem inode consumption. The project also incorporates an image processing pipeline that performs dynamic scaling and resizing of images during the download process and secures file access using token-based authentication.

The system can be deployed via Docker containers.

Features

  • Distributed Storage - Manages a distributed cluster of storage nodes for high-availability file storage and retrieval.
  • Private Cloud Storage - Provides a decentralized system for storing and managing files across multiple servers for high availability and scale.
  • Distributed File Systems - Implements a decentralized distributed file system for high-throughput and fault-tolerant file storage across multiple nodes.
  • Distributed Data Replication - Replicates files across multiple machines using a decentralized architecture to ensure consistency without a central coordinator.
  • FastDFS Compatible Storages - Implements a storage system compatible with the FastDFS protocol for distributed file management.
  • HTTP File Management - Handles file uploads and downloads using universal HTTP protocols for browser-based and command-line tools.
  • HTTP Storage Interfaces - Exposes file management and retrieval capabilities through standard web protocols for client-agnostic access.
  • Inter-Node Data Synchronization - Ensures data consistency and availability by automatically synchronizing files across different nodes in the storage cluster.
  • Object Storage Systems - Stores files across a cluster of machines using chunked uploads and content deduplication.
  • Decentralized Cluster Coordination - Coordinates storage and retrieval across multiple nodes using a decentralized architecture without a central coordinator.
  • Private Cloud Scaling - Distributes files across multiple storage nodes to scale capacity for a high-availability private cloud system.
  • Peer-to-Peer Synchronization Engines - Implements decentralized data replication across nodes to maintain consistency and recover from failures.
  • HTTP File Managers - Provides a standard HTTP-based API for uploading and downloading files, eliminating the need for proprietary client software.
  • HTTP File Uploads - Provides capabilities for transmitting files to remote storage servers via standard HTTP requests.
  • Large File Uploads - Implements a storage backend supporting breakpoint continuation for large file transfers via HTTP.
  • Reliable Large File Transfer Tools - Handles the upload and download of massive files with support for breakpoints and resumable transfers over HTTP.
  • Resumable Transfers - Supports resuming interrupted file uploads and downloads from the last successful byte to handle unstable network connections.
  • Resumable File Transfers - Provides mechanisms to pause and resume large file uploads using a byte-offset resumable protocol.
  • Content-Addressed File Uploads - Accelerates uploads by using SHA1 content hashing to identify existing files and avoid redundant data transfers.
  • On-the-Fly Transformations - Provides on-the-fly image scaling and zooming during download requests to optimize client views.
  • Content-Addressable Deduplicators - Implements a content-addressable system using SHA1 hashes to avoid storing identical file content multiple times.
  • Cluster Load Balancing - Allows redistributing files between nodes to balance storage load and resolve disk-full conditions without service interruption.
  • Content-Based Deduplication - Uses SHA1 cryptographic hashing to identify and eliminate redundant identical files.
  • Data Migration - Provides automated systems to move and validate data when transitioning files from external systems into the distributed storage environment.
  • Resource Optimization - Reduces filesystem overhead by merging small files and removing redundant data through SHA1 content hashing.
  • External Data Importers - Implements mechanisms for importing files from external systems using one-click migration and parallel validation modes.
  • Container Merging - Combines multiple small files into larger containers to reduce filesystem inode consumption and improve performance.
  • Small File Container Merging - Optimizes storage by merging small files into containers to reduce inode consumption and improve filesystem efficiency.
  • File Storage Migrations - Supports importing files from external directories by scanning the filesystem and updating the central storage index.
  • Dimension Resizing - Adjusts image dimensions during the download process using URL parameters for dynamic resizing.
  • Image Scaling - Creates scaled versions of stored images based on specified size requirements.
  • Image Processing Pipelines - Performs dynamic scaling and resizing of images on the fly during the download process.
  • Resumable Downloads - Supports resuming interrupted HTTP file transfers using standardized range requests.
  • Secure File Access - Restricts file access using custom authentication and token-based download validation.
  • Token-Based Authentication - Secures private cloud storage using token-based validation for file requests.
  • Access Authentication - Secures file access using custom interfaces, token-based verification, and third-party authentication codes.
  • Cluster Health Monitoring - Exposes a dedicated status endpoint to query the health and file information of the entire distributed cluster.
  • Duplicate File Removers - Identifies and deletes redundant file copies to reclaim and optimize storage space.
  • Health Failure Alerts - Triggers automated email alerts when self-monitoring systems detect failures in the storage cluster's health.
  • File Storage Systems - Distributed file storage service.

Star history

Star history chart for sjqzhang/go-fastdfsStar history chart for sjqzhang/go-fastdfs

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does sjqzhang/go-fastdfs do?

go-fastdfs is a distributed file system and object storage server designed for building private cloud storage. It provides a FastDFS compatible storage implementation that manages clusters of storage nodes to handle large-scale file uploads and downloads.

What are the main features of sjqzhang/go-fastdfs?

The main features of sjqzhang/go-fastdfs are: Distributed Storage, Private Cloud Storage, Distributed File Systems, Distributed Data Replication, FastDFS Compatible Storages, HTTP File Management, HTTP Storage Interfaces, Inter-Node Data Synchronization.

Which projects share features with sjqzhang/go-fastdfs?

Projects with overlapping indexed features include: happyfish100/fastdfs — FastDFS is a distributed file system and object store designed as a high-capacity file server. It functions as a… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… awesome-selfhosted/awesome-selfhosted — This project is a community-curated directory of open-source software designed for deployment in private server… imazen/imageflow — Imageflow is a high-performance image manipulation library and composition engine available as a C-compatible library,… gluster/glusterfs — GlusterFS is a software-defined distributed file system and scale-out storage cluster that aggregates disk resources… pokeb/asi-http-request — This project is an Objective-C HTTP networking library that provides an object-oriented wrapper for CFNetwork to…

Projects sharing features with Go Fastdfs

These projects share indexed features with Go Fastdfs. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • happyfish100/fastdfshappyfish100 avatar

    happyfish100/fastdfs

    9,231View on GitHub↗

    FastDFS is a distributed file system and object store designed as a high-capacity file server. It functions as a cluster storage manager that saves, syncs, and accesses large volumes of unstructured data across a network of distributed servers. The system uses unique identifiers for file retrieval and indexing instead of traditional hierarchical naming to avoid metadata bottlenecks. It manages file attributes through key-value metadata mapping and employs a distributed replication model to ensure high availability and data redundancy across storage groups. The project provides capabilities f

    Cdistributed-file-storagedistributed-file-systemstorage-servers
    View on GitHub↗9,231
  • hazelcast/hazelcasthazelcast avatar

    hazelcast/hazelcast

    6,570View on GitHub↗

    Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis

    Javabig-datacachingdata-in-motion
    View on GitHub↗6,570
awesome-selfhosted/awesome-selfhostedawesome-selfhosted avatar

awesome-selfhosted/awesome-selfhosted

299,516View on GitHub↗

This project is a community-curated directory of open-source software designed for deployment in private server environments and home labs. It serves as a comprehensive resource for discovering independent, self-hosted alternatives to mainstream cloud services, enabling users to maintain full data ownership and control over their digital infrastructure. The directory is structured through a hierarchical taxonomy that organizes a vast collection of applications into logical categories, ranging from media management and data analytics to private communication and team productivity tools. It dis

awesomeawesome-listcloud
View on GitHub↗299,516
  • imazen/imageflowimazen avatar

    imazen/imageflow

    4,402View on GitHub↗

    Imageflow is a high-performance image manipulation library and composition engine available as a C-compatible library, a command-line image processor, and a dynamic image processing server. It provides the means to decode, encode, and apply complex visual transformations to images through programmatic interfaces, JSON job files, or on-the-fly URL query strings. The system distinguishes itself through a graph-based processing pipeline that allows for single-pass multi-format encoding, generating multiple image sizes and formats from a single decode to reduce overhead. It further features a res

    Rustimage-compressionimage-manipulationimage-server
    View on GitHub↗4,402
  • Compare all 30 related projects→