https://github.com/arvrao/inmemorydatastore-app
Distributed in-memory key-value store implemented as a Spring Boot service. It provides a fast, scalable, and fault-tolerant solution for storing and retrieving data with automatic expiration capabilities.
https://github.com/arvrao/inmemorydatastore-app
consistent-hash-algorithm gradle minheap springboot
Last synced: 2 months ago
JSON representation
Distributed in-memory key-value store implemented as a Spring Boot service. It provides a fast, scalable, and fault-tolerant solution for storing and retrieving data with automatic expiration capabilities.
- Host: GitHub
- URL: https://github.com/arvrao/inmemorydatastore-app
- Owner: ArvRao
- Created: 2024-08-22T17:31:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-29T12:40:55.000Z (over 1 year ago)
- Last Synced: 2025-02-10T22:44:24.362Z (about 1 year ago)
- Topics: consistent-hash-algorithm, gradle, minheap, springboot
- Language: Java
- Homepage:
- Size: 62.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## About
A distributed in-memory key-value store implemented as a Spring Boot service. It provides a fast, scalable, and fault-tolerant solution for storing and retrieving data with automatic expiration capabilities.
## Summary
Simulated a distributed environment with multiple nodes within a single application instance. The consistent hashing algorithm is used to distribute keys across these virtual nodes.
When a key-value pair is added, the consistent hashing algorithm determines which node should store that data.
The consistentHash.get(key) call determines which node should hold the data for that key.
Check Node distribution: return a map showing how many key-value pairs are stored in each node.
Concept of virtual nodes where each node has associated key-value pair stored in it.
When key-value pair is added, the consistent hashing algorithm determines which node should store that data based on the hash of the key.