Welcome to the Cloud Storage Project! This system offering a robust solution for storing and managing files across multiple nodes.
- File Storage: Files are stored across multiple storage nodes for redundancy, scalability, and fault tolerance.
- Load Balancing: Efficiently distributes client requests across available storage nodes to ensure optimal performance.
- User Authentication: Secure authentication mechanism before performing any file operations.
- File Operations: Supports
UPLOAD
,DOWNLOAD
,LIST
, andDELETE
commands. - Service Registry: Manages and tracks the status of all registered nodes (both storage nodes and load balancers).
- Heartbeat Monitoring: Continuously checks the health of storage nodes to ensure system reliability.
- Java: Core programming language for the project.
- TCP/IP: Network protocol for communication between nodes.
- MongoDB: Used for storing metadata and managing user and file information.
- Maven: Build automation tool for Java projects.
- Java 17 or higher
- MongoDB
- Clone the repository:
git clone https://github.com/priyank-7/D-drive.git
cd D-drive
mvn clean install
- Authenticate: AUTH username:password
- Upload File: PUT /path/to/file.txt
- Download File: GET filename.txt
- Delete File: DELETE filename.txt
- List Files: LIST
- Exit: EXIT
The system architecture is designed with multiple components that interact to provide seamless cloud storage functionality. Below is the UML diagram representing the overall architecture: