Cloudflare Meerkat - Globally distributed consensus
5 hours ago
- #Cloudflare
- #Consensus Algorithms
- #Distributed Systems
- Cloudflare needs a distributed consensus service for global control-plane state management, ensuring strong consistency and availability despite network unpredictability.
- Raft-based systems suffer in wide-area networks due to leader dependency and timeout issues, leading to availability problems during leader failures or network degradation.
- Meerkat is Cloudflare's new consensus service using the QuePaxa algorithm, allowing all replicas to perform writes without timeouts, improving fault tolerance and availability.
- Meerkat guarantees linearizability for applications like a key-value store, ensuring all reads see prior writes even across distributed replicas, using a consensus log to synchronize events.
- QuePaxa provides higher availability than Raft by eliminating required leaders, avoiding leader election delays, and handling concurrent proposals constructively in unreliable networks.
- Meerkat has latency limitations due to consensus round-trips but optimizes performance through batching, replica placement control, and optional stale reads for non-critical data.
- The service is experimental and internal-only for now, designed for infrequently written control-plane data, with future blog posts planned on its implementation and verification.