Distributed cluster resource states
Cellar uses Hazelcast to maintain and store the states of the different resources in the cluster (bundles, features, configuration, OBR, eventadmin, DOSGi, and so on). To do so, Cellar uses Hazelcast's distributed data structures. Thanks to this, the cluster data is distributed across all the nodes in the cluster. Each Cellar node stores a portion of the data (and eventually the replicas/backups).
For instance, in Cellar, you have the following three features installed:
- Feature A
- Feature B
- Feature C
The statuses of the features are stored in a distributed map that looks similar to the following statuses:
- Feature A: Installed
- Feature B: Uninstalled
- Feature C: Installed
The partition of the features' distributed map (in the cluster) can be as follows:
- Feature A's status on node1
- Feature B's status on node2
- Feature C's status on node1
If a node goes down or leaves the cluster, Hazelcast redistributes the data (including the replica) on the remaining...