happyfish100/fastdfs ? reverse-engineered prompt
Reverse engineered prompt
Build me a high performance distributed file storage system for photos, videos, and other web files.
I want it to let users upload files, download files, and get back a file ID they can use later to access the file. It should support a tracker and storage setup, where the tracker handles scheduling and load balancing, and the storage servers actually keep the files. Make it work well with lots of small files too, and support grouping storage servers so the system can scale by adding more servers or more groups without downtime.
Please include the basic server side pieces, client code for uploading and downloading, and a simple way to store file metadata like key value attributes. If it makes sense, add support for appending, truncating, and modifying appender files, plus broken point resume for transfers. Keep it practical, reliable, and fast, and look up current docs online if you need to.