THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
@startuml
title Relationships - 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
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 --|> Service
JGroupsMessenger --|> Service
GMSJoinLeave --|> Service
JChannel --* JGroupsMessenger
@enduml