https://github.com/praths71018/8_building-a-distributed-key-value-store-with-etcd
Cloud Computing Project done by batch 8 on building a distributed key-value store with etcd
https://github.com/praths71018/8_building-a-distributed-key-value-store-with-etcd
cloud-computing etcd3 etcdv3 flask key-value-store
Last synced: about 2 months ago
JSON representation
Cloud Computing Project done by batch 8 on building a distributed key-value store with etcd
- Host: GitHub
- URL: https://github.com/praths71018/8_building-a-distributed-key-value-store-with-etcd
- Owner: praths71018
- Created: 2024-03-25T10:06:28.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-08T09:51:29.000Z (about 2 years ago)
- Last Synced: 2025-01-29T20:42:19.315Z (over 1 year ago)
- Topics: cloud-computing, etcd3, etcdv3, flask, key-value-store
- Language: Python
- Homepage:
- Size: 10.1 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Building a Distributed Key - Value Store with etcd
## Introduction
Etcd is an open-source distributed key value store that provides strong consistency and survivability of data. Its major characteristics :
- **Distributed Key-Value Store**: Etcd is an open-source distributed key-value store.
- **Strong Consistency**: It provides strong consistency guarantees, ensuring that data is always up-to-date and consistent across the cluster.
- **High Availability**: Etcd's distributed architecture ensures high availability by replicating data across multiple nodes. This ensures that the system remains operational even if some nodes fail.
- **Survivability**: It can survive network partitions and node failures, ensuring that data remains accessible and consistent under adverse conditions.
- **Use Cases**: Etcd is suitable for building highly available applications requiring data integrity and availability, such as service discovery, configuration management, distributed locking, and coordination among distributed systems.
- **Simple API**: It offers a simple and efficient API for storing, retrieving, and managing key-value pairs, abstracting away the complexities of distributed systems.
- **Watch Functionality**: Etcd supports watch functionality, enabling real-time notification of changes to data, making it suitable for building reactive and event-driven systems.
- **Resilient Architecture**: Etcd empowers developers to architect resilient and scalable distributed applications with ease, ensuring data consistency and availability across their infrastructure.
## Setting up Single Node Cluster
1. Launch etcd server :
```bash
etcd
{"level":"info","ts":"2021-09-17T09:19:32.783-0400","caller":"etcdmain/etcd.go:72","msg":... }
⋮
```
2. A single node cluster is setup , refer https://etcd.io/docs/v3.5/quickstart/ .
## Running Single Node Cluster
1. Start Single node cluster in terminal
2. Run below command in another terminal to run the program.
```bash
python main.py
```
## Demonstration

## Functionality
1. Inserting values in key value format
2. Retrieving value given key as input
3. Deleting value given key as input
4. Display all values