Cluster Coordinator
The Cluster Coordinator is the central component of the Horizontal Cluster. It serves as the "brain" of the cluster. To achieve fault tolerance while maintaining high performance, distributed in-memory storage is used by the Cluster Coordinator. All changes made to cluster configuration are instantly replicated across all coordinator nodes.
Key Functions of Cluster Coordinator
Overall system supervision: The Cluster Coordinator monitors and supervises the entire cluster, ensuring its health and availability.
Resources allocation and distribution: The Cluster Coordinator manages the allocation and distribution of resources across the main nodes of the cluster. It determines which primary node should host a specific resource based on predefined rules.
Role-based access control: The Cluster Coordinator enforces role-based access control, ensuring that users only have access to apps and resources they are authorized to use.
Interaction with external tenant and user registries: The Cluster Coordinator interacts with external registries to manage tenants and users in the cluster. This includes authentication, authorization, and user management.
Billing data provisioning: The Cluster Coordinator collects data related to resource usage for billing purposes. This information is used for generating invoices for the tenants or monitoring usage statistics.
Application deployment control: The Cluster Coordinator manages applications deployed in the cluster. It handles application registration, activation/deactivation, and updates.
Primary nodes deployment and upscaling/downscaling: The Cluster Coordinator handles primary nodes' deployment process as well as scaling operations such as adding or removing primary nodes from a cluster for better performance or fault tolerance. Creation and removal of a node may be initiated via API of any third party cloud management system (such as VMware vSphere, Microsoft Azure, Google Cloud Platform, or Amazon Web Services).
Coordinator Cache
Cluster coordinator nodes rely to an distributed cache that is fully synchronized between all coordinator nodes. This cache is implemented upon Apache Ignite distributed database engine.
Coordinator Storage
Cluster coordinator uses a relational storage database to store registries of tenants, subtenants, primary nodes, application and login servers, application and tenant realms, application resources, and more.
In most cases, this storage is also implemented upon Apache Ignite to ensure data mirroring and load balancing. However, any relational database may be used to storage cluster coordinator registries' data.
Was this page helpful?