这个页面暂无中文版,以下为英文原文。

返回作品集

Distributed Storage Service

2024年4月1日
Distributed SystemsStorageJavaNetworkingFault ToleranceConsistent HashingKey-Value StoreCassandra
Distributed Storage Service
YouTubeGitHub

Distributed Storage Service

A Cassandra-style distributed key-value storage system implementing consistent hashing, 3-replica redundancy, dynamic node management, and persistent data storage.

Student project building a robust distributed storage service from scratch using C++, inspired by Apache Cassandra's architecture. The system provides a scalable, fault-tolerant key-value storage solution with the following key features:

Core Features

  • Consistent Hashing: Implements consistent hashing algorithm for efficient key distribution and load balancing across nodes
  • 3-Replica Redundancy: Automatic data replication across three nodes to ensure high availability and fault tolerance
  • Dynamic Node Management: Support for adding and removing nodes dynamically without service interruption
  • Key-Value Storage: Simple and efficient key-value data model for flexible data storage
  • Data Persistence: Persistent storage mechanism to ensure data durability across system restarts
  • Read/Write Operations: Full support for user-initiated read and write operations with consistency guarantees

Architecture

The system is designed with a distributed architecture where multiple nodes work together to store and manage data. Each key-value pair is automatically replicated to three different nodes using consistent hashing, ensuring that data remains available even if individual nodes fail. The system maintains data consistency while allowing for dynamic cluster reconfiguration.