1.0 Overview

Project Duration: 3 Months
Industry: High-Traffic File Hosting & Streaming
Role: Lead System Administrator / Infrastructure Architect

2.0 Background

I was tasked with building a file-sharing platform capable of handling intense daily traffic – specifically, an initial target of 500,000 daily requests across file streaming and downloads. The client needed a system that wouldn’t just work today but could scale horizontally as their user base grew.

3.0 Architectural Strategy: Thinking “Scale-Out”

From day one, I opted for a Microservices architecture. I knew a monolithic approach would bottleneck under the load of half a million requests.

  • The Database Layer: To ensure high performance, I implemented MongoDB for flexible, document-oriented storage and ClickHouse to handle the heavy lifting of real-time analytics.
  • The Speed Layer: I integrated Redis for in-memory caching to reduce database hits and Elasticsearch to provide near-instant full-text search results for millions of files.
  • The API Engine: I built the backend using PHP with Swoole. This was a critical choice; using Swoole allowed for asynchronous, coroutine-based processing, which is far more efficient for high-concurrency environments than traditional PHP-FPM.

4.0 Implementing the Node Clustering System

The “brain” of this project was the clustering system I designed. I organized the file-serving nodes into a Primary-Secondary hierarchy:

  • Smart Routing: I defined clusters based on activity (hot vs. cold storage) and time-based delimiters.
  • Data Synchronization: I configured the Primary nodes to act as managers. When a file is uploaded or deleted, a trigger immediately fires a sync event across all Secondary nodes.
  • Load Balancing: This setup ensures that no single server is overwhelmed, as the secondary nodes take the brunt of the file-serving and streaming traffic.

5.0 Custom-Built Content Delivery Platform (CDP)

Beyond simple hosting, I developed a dedicated CDP to handle media processing. This service automatically generates thumbnails for images and waveforms for audio files upon upload. By offloading this from the main API, I ensured that the user interface remains snappy even during heavy upload periods.

6.0 Security & User Experience Features

I focused heavily on the “Administrative” side of the system to make it easy for the client to manage:

  • Role-Based Access (RBAC): I built a grouping system where resource limits (storage, speed, etc.) are dictated by the user’s group.
  • Secure Account Sharing: I implemented a “Profile Switching” feature. This allows users to invite others to manage their profile with granular permissions (View/Create/Update), removing the need to share passwords.
  • Frontend Performance: For the dashboard, I deployed a Nuxt.js (SSR) application as a Progressive Web App (PWA), ensuring fast load times and a native-app feel on mobile.

7.0 The Results

After three months of development and rigorous testing, I delivered a platform that is:

  • Horizontally Scalable: New nodes can be added to any cluster in minutes.
  • Resilient: With automated syncing and real-time node monitoring, the system recovers quickly from hardware failures.
  • Performance-Optimized: Dark/Light mode UI with lightning-fast media players for a premium user experience.

8.0 Technical Stack Summary

Layer TechnologyPrimary Function
Backend CorePHP + SwooleHigh-performance asynchronous and coroutine-based request processing.
FrontendVue.js / Nuxt.jsServer-Side Rendered (SSR) Progressive Web App for superior UX and SEO.
Primary DatabaseMongoDBHorizontally scalable, document-oriented storage for flexible file metadata.
Search EngineElasticsearchDistributed full-text search and indexing for rapid file retrieval.
Analytics EngineClickHouseColumn-oriented DBMS for high-speed, real-time data processing and analytics.
Cache StoreRedisIn-memory data structure store used for low-latency session and data caching.
InfrastructureBashAutomation scripts for server configuration and node management.
ArchitectureMicroservicesDecoupled services to allow independent scaling and deployment of system components.

Architectural Highlights:

  • Horizontal Scalability: Every component—from the API to the database—is designed to scale out by adding more hardware rather than just upgrading existing machines.
  • Primary-Secondary Clustering: A custom-engineered file-serving logic that manages data synchronization across multiple nodes, preventing any single point of failure.
  • Async Processing: Using Swoole allows the PHP backend to handle thousands of concurrent connections (like video streams) without blocking execution.

9.0 Conclusion

The system is currently live and performing at peak efficiency. I continue to provide active maintenance and infrastructure monitoring to ensure the platform scales seamlessly as traffic grows. See Sabishare.com

10.0 Screenshots