Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 5 days 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 (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-29T12:40:55.000Z (4 months ago)
- Last Synced: 2024-10-31T03:25:02.746Z (about 2 months 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.