• Stars
    star
    9,016
  • Rank 4,012 (Top 0.08 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created over 11 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance. Wechat/Weixin public account (Chinese Language): fastdfs

Copyright (C) 2008 Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General Public License V3, which may be found in the FastDFS source kit. Please visit the FastDFS Home Page for more detail. Chinese language: http://www.fastken.com/

FastDFS is an open source high performance distributed file system. Its major functions include: file storing, file syncing and file accessing (file uploading and file downloading), and it can resolve the high capacity and load balancing problem. FastDFS should meet the requirement of the website whose service based on files such as photo sharing site and video sharing site.

FastDFS has two roles: tracker and storage. The tracker takes charge of scheduling and load balancing for file access. The storage store files and it's function is file management including: file storing, file syncing, providing file access interface. It also manage the meta data which are attributes representing as key value pair of the file. For example: width=1024, the key is "width" and the value is "1024".

The tracker and storage contain one or more servers. The servers in the tracker or storage cluster can be added to or removed from the cluster by any time without affecting the online services. The servers in the tracker cluster are peer to peer.

The storarge servers organizing by the file volume/group to obtain high capacity. The storage system contains one or more volumes whose files are independent among these volumes. The capacity of the whole storage system equals to the sum of all volumes' capacity. A file volume contains one or more storage servers whose files are same among these servers. The servers in a file volume backup each other, and all these servers are load balancing. When adding a storage server to a volume, files already existing in this volume are replicated to this new server automatically, and when this replication done, system will switch this server online to providing storage services.

When the whole storage capacity is insufficiency, you can add one or more volumes to expand the storage capacity. To do this, you need to add one or more storage servers.

The identification of a file is composed of two parts: the volume name and the file name.

Client test code use client library please refer to the directory: client/test.

For more FastDFS related articles, please subscribe the Wechat/Weixin public account (Chinese Language): fastdfs

FastDFS is a lightweight object storage solution. If you need a general distributed file system for databases, K8s and virtual machines (such as KVM), you can learn about FastCFS which achieves strong data consistency and high performance.

We provide technical support service and customized development. Welcome to use WeChat or email for discuss.

email: 384681(at)qq(dot)com

More Repositories

1

fastdfs-client-java

FastDFS java client SDK
Java
1,598
star
2

libfastcommon

c common functions library extracted from my open source project FastDFS. this library is very simple and stable. functions including: string, logger, chain, hash, socket, ini file reader, base64 encode / decode, url encode / decode, fast timer, skiplist, object pool etc. detail info please see the c header files.
C
897
star
3

FastCFS

A high performance distributed file system which can be used as the back-end storage of databases, K8s and VM etc.
C
551
star
4

libshmcache

libshmcache is a local cache in the share memory for multi processes. high performance due to read is lockless. libshmcache is 100+ times faster than a remote interface such as redis.
C
447
star
5

fastdfs-nginx-module

FastDFS nginx module
C
433
star
6

fastdht

FastDHT is a high performance distributed hash table (DHT) which based key value pairs. It can store mass key value pairs such as filename mapping, session data and user related data.
C
122
star
7

faststore

a high performance distributed file storage service.
C
30
star
8

fastkengine

knowledge base engine
C
25
star
9

fastDIR

a high performance distributed directory service.
C
24
star
10

watchd

watchd is a process watcher / monitor, so watchd is a process watch dog to keep the watched processes alive.
C
21
star
11

libserverframe

C network service framework library extract from FastDFS
C
20
star
12

fastcfs-csi

k8s CSI driver for FastCFS
Go
11
star
13

fastconfig

the config server and agent for configuration items.
C
11
star
14

cparser

an open C language parser. you can walk through the AST for special purpose.
C
9
star
15

fastdfs-apache-module

FastDFS apache module
C
8
star
16

fasttemplate

C library and PHP extension for fast variables replace of template.
C
6
star
17

FastOS.repo

Fast Open Source yum repo
Shell
4
star
18

cplus

C language data type and syntax extension for quick development. extended data type including: string, map, list and dynamic array.
3
star
19

libdiskallocator

sequential disk allocator based trunk files
C
2
star
20

test

just a test
C++
1
star