Paxos
প্যাক্সোস
Consensus-এর প্রথম production-grade উত্তর — two-phase ballot protocol; বোঝা কঠিন বলেই Raft-এর জন্ম।
also: multi-paxos, basic-paxos
দুই phase, majority-র উপর:
Phase 1 prepare(n) → acceptor promise: এর চেয়ে ছোট ballot আর নয়
Phase 2 accept(n, v) → majority accepted ⇒ v decided
- Safety-র চুক্তি একটাই: এক ballot number-এ এক value; acceptor-কে promise-এর আগে accepted value ফেরত দিতে হয় — proposer তাই সবসময় already-decided value-ই ছড়ায়
- Acceptor-এর stable storage বাধ্যতামূলক — memory ভুলে গেলে safety ভাঙে
- Basic Paxos এক value; Multi-Paxos leader stabilize করে phase 1 skip করে log বানায় — আর ওই ‘সংস্কার’-গুলোই implement করা কঠিন, Raft সেই complexity-কে readable করেছে