Versions Compared

Key

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

...

The first item is managed by the Cluster subsystem, which contains Cluster and Mastership management. The remaining sections elaborate on the distributed store, and describe the function functions of these managers.

Distributed Stores

Depending on the requirements of a service, how the contents of a store 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, the store for Mastership service management uses Hazelcast's distributed structures as a strongly consistent backend, and store the stores for Device, Link, and Host services management uses an optimistic replication technique complemented by a background gossip protocol to ensure eventual consistency.

Simply put, the same subsystems of two different nodes synchronize directly with one another through the Store. The Store only synchronizes the states of the subsystem that it is part of; A DeviceStore, for example, does not have any knowledge of how host information is tracked. The figure below summarizes this for two nodes and a subsystem "A" that is part of both.

...

At the time of this writing, all services with the exception of topology management have access to distributed stores. The distributed version of topology store just simply relies on the distributed versions of the device, link and host stores.

...