Distributed-CAS is a distributed content addressable storage (CAS) system implemented in Go, designed for peer-to-peer networks. It enables secure file storage and retrieval across connected nodes using TCP communication. The system emphasizes efficiency, security, and scalability, making it suitable for various applications.
The following features have been implemented from scratch:
-
TCP Transport Connection
Establishes reliable connections between nodes using TCP, including a handshake protocol for secure communication and data encoding for message integrity. -
Key Storage
Supports operations for file management in both local and distributed contexts. Key functionalities include reading, writing, deleting, and checking the existence of files, allowing for efficient data retrieval. -
File Server
Manages file distribution and retrieval from connected peers. The server architecture ensures that files can be accessed seamlessly across the network, promoting redundancy and fault tolerance. -
File Encryption
Incorporates encryption mechanisms to secure files during transit and storage.
- Support for other transport protocols (e.g., WebSockets)
- Implementing a distributed hash table (DHT) for peer discovery and routing.