Skip to content

Instantly share code, notes, and snippets.

@batuhannoz
Created November 1, 2025 12:02
Show Gist options
  • Save batuhannoz/2f454dd5c8d9f8e0fe618af80ab997cb to your computer and use it in GitHub Desktop.
Save batuhannoz/2f454dd5c8d9f8e0fe618af80ab997cb to your computer and use it in GitHub Desktop.
Paxos Sequence Diagram
@startuml
!theme plain
participant Client
participant Proposer
box "Acceptors" #LightGrey
participant A
participant B
participant C
end box
' Boşluk oluşturmak için sahte bir çizgi veya ayraç ekle
... ...
box "Learners" #LightGrey
participant "A" as LearnerA
participant "B" as LearnerB
end box
Client -> Proposer: Request
== Phase 1a ==
Proposer -> A: Prepare(1)
Proposer -> B
Proposer -> C
== Phase 1b ==
A -> Proposer: Promise(1,Va)
B -> Proposer: Promise(1,Vb)
C -> Proposer: Promise(1,Vc)
== Phase 2a ==
Proposer -> A: Accept!(1,V)
Proposer -> B
Proposer -> C
== Phase 2b ==
A -> Proposer: Accepted(1,V)
A -> LearnerA
A -> LearnerB
B -> Proposer: Accepted(1,V)
B -> LearnerA
B -> LearnerB
C -> Proposer: Accepted(1,V)
C -> LearnerA
C -> LearnerB
LearnerA -> Client: Response
LearnerB -> Client
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment