Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
malwaredllc committed May 14, 2022
1 parent 538060c commit 43b73ae
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@
This may not be the best distributed cache, but it is a distributed cache.

Features:
- LRU (least-recently-used) eviction policy
- Get/Put operations run in O(1) time
- Eviction runs in O(1) time
- LRU eviction policy
- Get/Put operations and eviction run in O(1) time
- Client uses consistent hashing to uniformly distribute requests and minimize required re-mappings when servers join/leave the cluster
- Fault tolerance handled via single-leader replication
- Bully election algorithm

- Bully election algorithm used to elect a leader node for the cluster
- Follower nodes monitor heartbeat of leader and run a new election if it goes down
- Leader node monitors heartbeats of all nodes in the cluster, keeping a list of active reachable nodes in the cluster updated in real-time
- Client monitors the leader's cluster config for changes and updates its consistent hashing ring accordingly
- No single point of failure. The distributed election algorithm allows any nodes to arbitrarily join/leave cluster at any time, and there is always guaranteed to be a leader tracking the state of nodes in the cluster to provide to clients for consistent hashing.
- Time to update cluster state after node joins/leaves cluster is <= 1 second

0 comments on commit 43b73ae

Please sign in to comment.