SlideShare a Scribd company logo
Consistency 
chenzongzhi@360.cn
What is consistency 
• Get multiple servers to agree on 
state
Consistency 
• Weak 
• Eventual 
• Strong
Weak consistency 
• After a write, reads may or may not 
see it 
• Best effort only 
• Used for Cache
Eventual consistency 
• After a write, reads will eventually 
see it 
• App: Mail, Search engine indexing, 
Bada
Strong consistency 
• After a write, read will see it 
• App Engine: datastore 
• File System
Consensus Algorithm 
• 2PC 
• Paxos 
• Zab 
• Raft
Paxos
Paxos Roles 
• Proposers 
• acceptors 
• learners
Two Phases
Phase 1a: Prepare 
• A Proposer creates a proposal identified with a 
number N. This number must be greater than 
any previous proposal number used by this 
Proposer. Then, it sends a Prepare message 
containing this proposal to a Quorum of 
Acceptors. The Proposer decides who is in the 
Quorum.
Phase 1b: Promise 
• If the proposal's number N is higher than any 
previous proposal number received from any 
Proposer by the Acceptor, then the Acceptor 
must return a promise to ignore all future 
proposals having a number less than N. If the 
Acceptor accepted a proposal at some point in 
the past, it must include the previous proposal 
number and previous value in its response to the 
Proposer.
! 
Phase 2a: Accept Request 
• If a Proposer receives enough promises from a 
Quorum of Acceptors, it needs to set a value to 
its proposal. If any Acceptors had previously 
accepted any proposal, then they'll have sent 
their values to the Proposer, who now must set 
the value of its proposal to the value associated 
with the highest proposal number reported by 
the Acceptors. If none of the Acceptors had 
accepted a proposal up to this point, then the 
Proposer may choose any value for its proposal.
! 
Phase 2b: Accept 
• If an Acceptor receives an Accept Request 
message for a proposal N, it must accept it if 
and only if it has not already promised to only 
consider proposals having an identifier greater 
than N. In this case, it should register the 
corresponding value v and send an Accepted 
message to the Proposer and every Learner. 
Else, it can ignore the Accept Request.
Examples
Base Example
Example
Example:conflict
Example:conflict
Deduction 
• Only a Value be accepted in a Paxos example 
• If a Value has accepted by more than half of the 
Acceptors, later acceptors can only accept this value 
• Later proposer must propose this value 
• If a value v promise by more than half of the Acceptors, 
later proposer can only proposer value v 
• Before Proposer propose a value v, there must be no 
value been accept, or there is a set more than half of the 
acceptors a value
Usage 
• Paxos in Aerospike 
• Paxos in Zookeeper/Chubby 
• Paxos in Megastore
Limit 
• Need two phase 
• Live Lock
Reference 
• Paxos make simple 
• Paxos make live 
• lamport Paxos
Next 
• Multi-Paxos 
• Rafter
Thanks

More Related Content

What's hot

stop and wait
stop and waitstop and wait
stop and wait
swati463221
 
Gratuitous Address Resolution Protocol(G-ARP)
Gratuitous Address Resolution Protocol(G-ARP) Gratuitous Address Resolution Protocol(G-ARP)
Gratuitous Address Resolution Protocol(G-ARP)
Sachin Khanna
 
Rach procedure in lte
Rach procedure in lteRach procedure in lte
Rach procedure in lte
Saurav Banerjee
 
A visual introduction to Apache Kafka
A visual introduction to Apache KafkaA visual introduction to Apache Kafka
A visual introduction to Apache Kafka
Paul Brebner
 
Network layer - design Issues
Network layer - design IssuesNetwork layer - design Issues
Network layer - design Issues
قصي نسور
 
Kafka Overview
Kafka OverviewKafka Overview
Kafka Overview
iamtodor
 
AMQP
AMQPAMQP
Apache Kafka from 0.7 to 1.0, History and Lesson Learned
Apache Kafka from 0.7 to 1.0, History and Lesson LearnedApache Kafka from 0.7 to 1.0, History and Lesson Learned
Apache Kafka from 0.7 to 1.0, History and Lesson Learned
Guozhang Wang
 
RTP & RTCP
RTP & RTCPRTP & RTCP
Distributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmDistributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithm
pinki soni
 
Computer Networks: Quality of service
Computer Networks: Quality of serviceComputer Networks: Quality of service
Computer Networks: Quality of service
Kongu Engineering College, Perundurai, Erode
 
Lte rach configuration and capacity
Lte rach configuration and capacityLte rach configuration and capacity
Lte rach configuration and capacity
Young Hwan Kim
 
5G NR parameters
5G NR parameters5G NR parameters
5G NR parameters
Sasi Reddy
 
Architecture of the lte air interface
Architecture of the lte air interfaceArchitecture of the lte air interface
Architecture of the lte air interface
Eke Okereke
 
Cisco OTV 
Cisco OTV Cisco OTV 
Cisco OTV 
NetProtocol Xpert
 
Tracking Area LTE.pptx
Tracking Area LTE.pptxTracking Area LTE.pptx
Tracking Area LTE.pptx
AmjadMsouker
 
Triggering transmission
Triggering transmissionTriggering transmission
Triggering transmission
selvakumar_b1985
 
Multicast Routing Protocols
Multicast Routing ProtocolsMulticast Routing Protocols
Multicast Routing Protocols
Ram Dutt Shukla
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
MNM Jain Engineering College
 
End-to-End QoS in LTE
End-to-End QoS in LTEEnd-to-End QoS in LTE
End-to-End QoS in LTE
Radisys Corporation
 

What's hot (20)

stop and wait
stop and waitstop and wait
stop and wait
 
Gratuitous Address Resolution Protocol(G-ARP)
Gratuitous Address Resolution Protocol(G-ARP) Gratuitous Address Resolution Protocol(G-ARP)
Gratuitous Address Resolution Protocol(G-ARP)
 
Rach procedure in lte
Rach procedure in lteRach procedure in lte
Rach procedure in lte
 
A visual introduction to Apache Kafka
A visual introduction to Apache KafkaA visual introduction to Apache Kafka
A visual introduction to Apache Kafka
 
Network layer - design Issues
Network layer - design IssuesNetwork layer - design Issues
Network layer - design Issues
 
Kafka Overview
Kafka OverviewKafka Overview
Kafka Overview
 
AMQP
AMQPAMQP
AMQP
 
Apache Kafka from 0.7 to 1.0, History and Lesson Learned
Apache Kafka from 0.7 to 1.0, History and Lesson LearnedApache Kafka from 0.7 to 1.0, History and Lesson Learned
Apache Kafka from 0.7 to 1.0, History and Lesson Learned
 
RTP & RTCP
RTP & RTCPRTP & RTCP
RTP & RTCP
 
Distributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmDistributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithm
 
Computer Networks: Quality of service
Computer Networks: Quality of serviceComputer Networks: Quality of service
Computer Networks: Quality of service
 
Lte rach configuration and capacity
Lte rach configuration and capacityLte rach configuration and capacity
Lte rach configuration and capacity
 
5G NR parameters
5G NR parameters5G NR parameters
5G NR parameters
 
Architecture of the lte air interface
Architecture of the lte air interfaceArchitecture of the lte air interface
Architecture of the lte air interface
 
Cisco OTV 
Cisco OTV Cisco OTV 
Cisco OTV 
 
Tracking Area LTE.pptx
Tracking Area LTE.pptxTracking Area LTE.pptx
Tracking Area LTE.pptx
 
Triggering transmission
Triggering transmissionTriggering transmission
Triggering transmission
 
Multicast Routing Protocols
Multicast Routing ProtocolsMulticast Routing Protocols
Multicast Routing Protocols
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 
End-to-End QoS in LTE
End-to-End QoS in LTEEnd-to-End QoS in LTE
End-to-End QoS in LTE
 

More from 宗志 陈

Polardb percona-19
Polardb percona-19Polardb percona-19
Polardb percona-19
宗志 陈
 
Disk and page cache
Disk and page cacheDisk and page cache
Disk and page cache
宗志 陈
 
bada-data-beautiful
bada-data-beautifulbada-data-beautiful
bada-data-beautiful宗志 陈
 
Pika
PikaPika
Mario
MarioMario
Mario
宗志 陈
 
Log experience
Log experienceLog experience
Log experience宗志 陈
 
two-phase commit
two-phase committwo-phase commit
two-phase commit
宗志 陈
 
Leveldb background
Leveldb backgroundLeveldb background
Leveldb background
宗志 陈
 
Beanstalk
BeanstalkBeanstalk
Beanstalk
宗志 陈
 
Czzawk
CzzawkCzzawk
Czzawk
宗志 陈
 

More from 宗志 陈 (12)

Polardb percona-19
Polardb percona-19Polardb percona-19
Polardb percona-19
 
Disk and page cache
Disk and page cacheDisk and page cache
Disk and page cache
 
qcon-bada
qcon-badaqcon-bada
qcon-bada
 
bada-data-beautiful
bada-data-beautifulbada-data-beautiful
bada-data-beautiful
 
Pika
PikaPika
Pika
 
Mario
MarioMario
Mario
 
Log experience
Log experienceLog experience
Log experience
 
two-phase commit
two-phase committwo-phase commit
two-phase commit
 
Leveldb background
Leveldb backgroundLeveldb background
Leveldb background
 
Level db
Level dbLevel db
Level db
 
Beanstalk
BeanstalkBeanstalk
Beanstalk
 
Czzawk
CzzawkCzzawk
Czzawk
 

Recently uploaded

manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
wolfsoftcompanyco
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
saathvikreddy2003
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
davidjhones387
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?
Paul Walk
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
cuobya
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
xjq03c34
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
Azure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdfAzure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdf
AanSulistiyo
 
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
bseovas
 

Recently uploaded (20)

manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
Azure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdfAzure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdf
 
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
 

Paxos introduction

  • 2. What is consistency • Get multiple servers to agree on state
  • 3. Consistency • Weak • Eventual • Strong
  • 4. Weak consistency • After a write, reads may or may not see it • Best effort only • Used for Cache
  • 5. Eventual consistency • After a write, reads will eventually see it • App: Mail, Search engine indexing, Bada
  • 6. Strong consistency • After a write, read will see it • App Engine: datastore • File System
  • 7. Consensus Algorithm • 2PC • Paxos • Zab • Raft
  • 9. Paxos Roles • Proposers • acceptors • learners
  • 11. Phase 1a: Prepare • A Proposer creates a proposal identified with a number N. This number must be greater than any previous proposal number used by this Proposer. Then, it sends a Prepare message containing this proposal to a Quorum of Acceptors. The Proposer decides who is in the Quorum.
  • 12. Phase 1b: Promise • If the proposal's number N is higher than any previous proposal number received from any Proposer by the Acceptor, then the Acceptor must return a promise to ignore all future proposals having a number less than N. If the Acceptor accepted a proposal at some point in the past, it must include the previous proposal number and previous value in its response to the Proposer.
  • 13. ! Phase 2a: Accept Request • If a Proposer receives enough promises from a Quorum of Acceptors, it needs to set a value to its proposal. If any Acceptors had previously accepted any proposal, then they'll have sent their values to the Proposer, who now must set the value of its proposal to the value associated with the highest proposal number reported by the Acceptors. If none of the Acceptors had accepted a proposal up to this point, then the Proposer may choose any value for its proposal.
  • 14. ! Phase 2b: Accept • If an Acceptor receives an Accept Request message for a proposal N, it must accept it if and only if it has not already promised to only consider proposals having an identifier greater than N. In this case, it should register the corresponding value v and send an Accepted message to the Proposer and every Learner. Else, it can ignore the Accept Request.
  • 20. Deduction • Only a Value be accepted in a Paxos example • If a Value has accepted by more than half of the Acceptors, later acceptors can only accept this value • Later proposer must propose this value • If a value v promise by more than half of the Acceptors, later proposer can only proposer value v • Before Proposer propose a value v, there must be no value been accept, or there is a set more than half of the acceptors a value
  • 21. Usage • Paxos in Aerospike • Paxos in Zookeeper/Chubby • Paxos in Megastore
  • 22. Limit • Need two phase • Live Lock
  • 23. Reference • Paxos make simple • Paxos make live • lamport Paxos
  • 24. Next • Multi-Paxos • Rafter