Design a Raft Consensus Layer for Multi-Region Active-Active Replication
Overview
What this challenge is about.
Implement Raft leader election, log replication, snapshotting, and joint-consensus membership changes with a fault-injection harness. Earn a verifiable certificate.
The scenario
Meridian Data sells a NewSQL online transaction processing database to mid-market software-as-a-service companies that need strong consistency without operating their own database infrastructure. Its current single-leader replication caps it at one writable region, and prospective enterprise customers are demanding multi-region active-active deployments before they will sign.
The Brief
What you'll do, and what you'll demonstrate.
Design and validate a Raft-based consensus layer that keeps a five-node, three-region cluster linearizable while surviving continuous network-partition, clock-skew, and packet-reordering faults.
Earning criteria — what you'll demonstrate
- Translate the Raft paper's safety properties into a correct, race-free Go implementation
- Reason rigorously about linearizability under partition and clock-skew faults
- Design deterministic, reproducible fault injection for distributed systems
- Make and defend explicit consistency-versus-availability trade-offs for a multi-region deployment
- Communicate a complex distributed-systems design as a clear written proposal
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Distributed Consensus
Apply distributed consensus to solve real industry problems and demonstrate production-level capability.
- Raft
Apply raft to solve real industry problems and demonstrate production-level capability.
- Fault Tolerance
Apply fault tolerance to solve real industry problems and demonstrate production-level capability.
- Go Programming
Apply go programming to solve real industry problems and demonstrate production-level capability.
- Fault Injection
Apply fault injection to solve real industry problems and demonstrate production-level capability.
- Distributed Systems
Apply distributed systems to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles:
Distributed Systems Engineer
Building and validating a consensus layer under adversarial faults mirrors the core work of distributed systems engineers at database and infrastructure companies, who own replication correctness and must defend safety properties under real-world network conditions.
This challenge sharpens
- distributed-consensus
- fault-tolerance
- distributed-systems
Database Infrastructure Engineer
Replacing single-leader replication with multi-region consensus is exactly the kind of project database infrastructure engineers lead, requiring deep Raft knowledge and the ability to ship production-grade Go that survives partitions and clock skew.
This challenge sharpens
- raft
- go-programming
- fault-tolerance
Reliability / Test Infrastructure Engineer
Designing deterministic, replayable fault injection and linearizability checking bridges directly to reliability and test-infrastructure roles, where engineers build the harnesses that prove a system is correct before it reaches customers.
This challenge sharpens
- fault-injection
- distributed-consensus
- go-programming