Versions Compared

Key

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


PlantUML
@startuml

title MembershipRelationships - Class Diagram


class MembershipManager {
  +send message
  +keep track of members
  +find and remove members
}

class JGroupsMessenger {
  +send and receive UDP messages
  +encapsulates jgroups
}
class JChannel {
  +jgroups stack with udp socket
}

class NetMember {
  member metadata
  unique member id
  member address - host, udp and tcp ports
}
class InternalDistributedMember {
  additional member metadata

}
class NetView {
  list of members
}
class MemberFactory {
 + Static factory
}
class Services
interface Service
interface HealthMonitor
class GMSHealthMonitor
class GMSHealthMonitor {
  check that members are alive and communicating.
}
class GMSJoinLeave {
  Provides API to join and leave cluster
  reveives messages about joins/leaves from the network
}

MembershipManager "1" *-- "1" Services
MemberFactory *-- MemberFactory
MemberFactory --> MembershipManager: Creates
Services *-- Service
NetView "1" *-- "*" InternalDistributedMember
InternalDistributedMember "1" *-- "1" NetMember
GMSHealthMonitor --|> HealthMonitorService
HealthMonitorJGroupsMessenger --|> Service
MessengerGMSJoinLeave --|> Service
JGroupsMessenger --|> Messenger
JChannel --* JGroupsMessenger
@enduml

...