Distributed deployment requires a minimum of three nodes. You can build a cluster with two nodes, but if one of the nodes fails, the cluster will not be operational (ODL doesn't allow you to build a cluster with two nodes). The ODL clustering mechanism checks whether the majority of the servers in a cluster are up; if yes, it allows you to switch over to the next active node. Another example: if you have four servers in a cluster and lose two, the cluster will not be operational.
As a rule of thumb, always try to design your cluster with odd number of member servers:
Cluster size | Maximum number of servers can be down |
2 | 0 |
3 | 1 |
4 | 1 |
5 | 2 |
6 | 2 |
7 | 3 |
Each node in a cluster must have a unique identifier. ODL uses the role of each node for this purpose. Node roles are defined in the akka.conf file.
ODL's MD-SAL datastore uses the concept of shards. Shard is a partition or...