state machine replication (SMR)
Princip: Repliky jsou deterministické stavové automaty.
- Všechny repliky začínají ve stejném stavu
- Aplikují stejné operace ve stejném pořadí
- → Končí ve stejném stavu
Replica1: start → op1 → op2 → op3 → state_X
Replica2: start → op1 → op2 → op3 → state_X
Replica3: start → op1 → op2 → op3 → state_X
Jak zajistit stejné pořadí?
- Konsenzus (Paxos, Raft)
- Total Order Broadcast
[!note] Konsenzus state machine replication vyžaduje konsenzus → proto Paxos/Raft!
Výhody:
- Silná konzistence (všechny repliky stejné)
- Teoreticky čisté (matematicky dokázatelné)
Použití:
- etcd, Consul (Raft-based)
- Google Spanner (Paxos-based)
- Distribuované databáze