This project implements a robust distributed key-value store that facilitates reliable and efficient data management across multiple peer-to-peer (P2P) nodes in a network. The system supports essential operations such as "get", "put", and "delete", allowing for flexible and scalable data storage solutions. The system enhances data availability, fault tolerance.
distributed_kv_store/
├── nodes/
│ ├── node.py
│ ├── client.py
│ ├── kvstore.proto
│ ├── init.py
├── proto/
│ ├── kvstore.proto
├── web/
│ ├── app.py
│ ├── templates/
│ │ ├── index.html
│ ├── static/
│ │ ├── style.css
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── README.md
- Python
- gRPC
- LevelDB
- Flask
- Docker
- Docker Compose
Ensure you have the following installed on your system:
- Python 3.9 or higher
- Docker
- Docker Compose
Clone this repository to your local machine:
git clone https://github.com/TOZXII/distributed_kv_store_COMP5504.git
cd distributed_kv_store
open docker app
Build and Run the Docker Containers Build and run the Docker containers using Docker Compose:
docker-compose build
docker-compose up
Usage Accessing the Web Interface Open your web browser and navigate to:
http://localhost:5001
- Said Albreiki
- Saqer Alshukaili
- Jaber Albusaidi