...
Depending on the requirements of a service, how the contents of a store may be either strongly or eventually consistent. is distributed between nodes can have different characteristics (e.g., strongly consistent, eventually consistent, ...). This is made possible by having each service's store implement the appropriate distribution mechanism. Currently, store for Mastership service uses Hazelcast's distributed structures are used for strong consistency, and a gossip protocol implemented on Netty is used for as a strongly consistent backend, and store for Device, Link, and Host services uses peer to peer messaging, implemented on Netty, to replicate states and background gossip protocol to ensure eventual consistency. These mechanisms are used by stores of the same subsystem type (e.g. two GossipDeviceStores
on two different nodes) to communicate directly with one another without traversing the ONOS stack.
...
The DistributedClusterStore
currently leverages Hazelcast for its cluster membership facilities by implementing Hazelcast's MembershipListener
, and using it to translate MembershipEvent
s into ONOS ClusterEvent
s. It also relies on it for the setup and management of the multicast group used for inter-store communication.
...