Is an caching implementation for a distributed system
- Learn low level distributed systems
- Learn Go
[ ] Leader election[ ] Raft or Paxos
- Custom Protocol
- TCP: for Gossip node discovery
- UDP (QUIC): for node to node communication
- Architecture
Client - Server ?- Peer to Peer
- Each node with a XOR distance based routing table
Consistent HashingTCP based comms between nodes- gRPC trial
- Persistence (maybe)
- A hybrid between AOL (append only log) and snapshot so that log file compaction we don't need to worry about
- Logging
Centralized Error Handling- Telemetry (maybe)
- Metrics (maybe)
- Tests
- Scale tests