Skip to content

Cluster Nodes

Example of /asab/nodes organization:

- /asab/nodes/
  - cluster_node_1/
    - governator-<uuid>.json
    - info.json
    - mailbox/
  - cluster_node2/
  - cluster_node3/

Warning

There is a terminological contradiction that is particularly unfortunate in this chapter. In ASAB Maestro, the word "node" is reserved for a "cluster node" - typically an isolated server connected via a network to the other servers that make up the cluster.

However, ZooKeeper technology uses the term "node" for its file structure. ZooKeeper nodes can contain both data and child nodes. Comparing to a file system, each node behaves as both a file and a directory. Where possible, we refer to ZooKeeper nodes as files and directories. When the node is used both to store data and child nodes, this simplification does not work. Then, the terms "cluster node" and "ZooKeeper node" are used for clarification.

Cluster node

Each ZooKeeper node inside /asab/nodes (e.g. cluster_node_1/) contain IP address of the connected cluster node.

ip:
 - 10.25.128.81

ASAB Governator connection

governator-<uuid>.json file contains information about websocket connection from the ASAB Governator instance present on that cluster node. Each connection is labeled by an uuid to prevent overlapping of two connection attempts. However, one cluster node should create only one Remote Control-Governator connection.

{"address": "10.25.128.81", "rc_node_id": "cluster_node_1"}

Cluster node detailed info

info.json contains data about the node gathered by the ASAB Governator. It is periodically updated but not collected. Historical data are not present. Instead, follow ASAB metrics, InfluxDB and Grafana dashboards to gain infromation about the cluster health in time.

Mailbox

The mailbox/ directory helps manage tasks between two types of services. ASAB Remote Control instances are identical across the cluster and can substitute for each other. In contrast, ASAB Governator microservices are unique to each node and cannot be replaced by others. The mailbox acts as a link between these services, enabling communication and task coordination. When a user sends instructions from the Web UI, the mailbox helps ASAB Remote Control instances find and communicate with the correct ASAB Governator to execute the task. ASAB Remote Control instance with the instructions from the user "sends a message" to ASAB Remote Control instance with the target ASAB Governator connection.