Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

PlantUML
title This diagram shows a member (N) using a locator (L) discovering the Coordinator (C) and joining
hide footbox
entity N
entity L
entity C
N -> L : FindCoordinator(myId)
note right : via tcp/ip
L --> N : FindCoordinatorResponse(c)
N -> C : JoinRequest
note right : this and subsequent communications via UDP
note right of C : ViewCreator thread processes request
C -> N : PrepareView(c,l,n)
N --> C : ack
C -> L : PrepareView(c,l,n)
L --> C : ack
C -> N : InstallView(c,l,n)
N --> C : ack
note right of N
continue startup after
sending ack
end note
C -> L : InstallView(c,l,n)
L --> C : ack
 

The class GMSJoinLeave is responsible for knowing who is in the distributed system.  It interacts with Locators and Membership Coordinators and makes decisions about who should fill the role of Coordinator.  It is also responsible for detecting network partitions.

...