Skip to main content

Auto-Clustering Of Instances

The platform provides an on-demand automatic cauterization for some of the managed templates. Such automation significantly simplifies and speeds up the creation of a reliable production-ready cluster for your project.

Below, we’ll consider the following points:

Templates with Supported Auto-Clustering

Currently, the following templates support the newly added clustering feature (with even more stacks to be added in the future):

tip

Your particular service hosting provider can configure and implement auto-clustering for some additional stacks, which are not defined in the list.

Tomcat/TomEE

A highly available Tomcat/TomEE cluster that can balance the load across compute nodes to enhance performance and resilience. The implementation provides session replication, context attribute replication, and cluster-wide WAR file deployment.

note

The Auto-Clustering feature for Tomcat and TomEE is available since the following stack versions:

  • Tomcat - 10.0.5; 9.0.45; 8.5.64; 7.0.108
  • TomEE - 9.0.0-M3; 8.0.5

Locale Dropdown

Learn More »

GlassFish

Interconnection of the GlassFish servers with pre-configured session replication and load balancing.

Locale Dropdown

Payara

Interconnection of the Payara servers with pre-configured session replication and load balancing.

Locale Dropdown

Jenkins

A master Jenkins node in the master-slave mode with auto-scalable Java Engine workers and pre-installed plugins to support building and deployment automation for organizing continuous integration (CI) and continuous delivery (CD) pipelines.

Locale Dropdown

WildFly

WildFly nodes in Domain Mode with enabled clustering to get high availability and guarantee the continuous performance of a deployed Java EE application.

Locale Dropdown

MySQL

Auto-Clustering is provided for the 5.7.x and 8.x MySQL versions only.

Automatic clusterization of the databases with pre-configured replication and auto-discovery of the nodes.

Based on your requirements, you can select Scheme of the following types:

  • Primary-Primary with Extra Secondaries

Pre-configured replication with two interconnected primary databases. During the horizontal scaling, the cluster is extended with additional secondary nodes.

Locale Dropdown

  • Primary-Secondary with Extra Secondaries Pre-configured replication with one primary and one secondary database. During the horizontal scaling, the cluster is extended with additional secondary nodes.

Locale Dropdown

Learn More »

MariaDB

Auto-Clustering is provided for the 10.x MariaDB versions only.

Automatic clusterization of the databases with pre-configured replication and auto-discovery of the nodes.

Based on your requirements, you can select Scheme of the following types:

  • Primary-Primary with Extra Secondaries Pre-configured replication with two interconnected primary databases. During the horizontal scaling, the cluster is extended with additional secondary nodes.

Locale Dropdown

  • Primary-Secondary with Extra Secondaries Pre-configured replication with one primary and one secondary database. During the horizontal scaling, the cluster is extended with additional secondary nodes.

Locale Dropdown

  • Galera Cluster All servers can accept updates even if being issued concurrently.

Locale Dropdown

Learn More »

Percona

Automatic clusterization of the databases with pre-configured replication and auto-discovery of the nodes.

Based on your requirements, you can select Scheme of the following types:

  • Primary-Primary with Extra Secondaries Pre-configured replication with two interconnected primary databases. During the horizontal scaling, the cluster is extended with additional secondary nodes.

Locale Dropdown

  • Primary-Secondary with Extra Secondaries Pre-configured replication with one primary and one secondary database. During the horizontal scaling, the cluster is extended with additional secondary nodes.

Locale Dropdown

  • XtraDB Cluster

A database clustering solution that ensures high availability, prevents downtime and data loss, and provides linear scalability for a growing environment.

Locale Dropdown

Learn More »

PostgreSQL

Pre-configured PostgreSQL database cluster with asynchronous primary-secondary replication and automatic addition of the new nodes into the cluster (as secondaries).

Locale Dropdown

Couchbase

Automatically interconnected Couchbase servers with the pre-configured auto-scaling and rebalancing to provide a single highly available data storing system.

Locale Dropdown

Learn More »

MongoDB

Automatic configuration of a highly-available and reliable MongoDB replica set with auto-discovery of the new nodes.

Locale Dropdown

Redis

Automatization for a distributed implementation of Redis Cluster - an open-source, in-memory data structure store. It is usually used for caching, data storing, as a message broker, and for other tasks. The provided topology consists of at least three Primary servers, each with a Secondary node to ensure the read load distribution and auto-recovery if the Primary goes down.

Locale Dropdown

Learn More »

OpenSearch

Automatic clusterization of a community-driven, open-source search engine that provides a distributed, multitenant-capable full-text search. Solution provides built-in settings to add the OpenSearch Dashboards for data visualization and Logstash for processing logs.

Locale Dropdown

Learn More »

Shared Storage Container

Automatically configured, reliable storage cluster (replicated volume) based on the Gluster solution, which ensures data safety. In case of failure of one or several nodes, the AutoFS client automatically switches to the working instances, providing storage high-availability.

Locale Dropdown

Learn More »

Auto-Clustering Management

  1. The Auto-Clustering feature can be enabled for the node group through the same-named switcher in the central part of the topology wizard (if available for the selected stack).

Locale Dropdown

tip

Based on the specific implementation, the Auto-Clustering option can be:

  • mandatory enabled (e.g. for the Couchbase database)

Locale Dropdown

  • provided with some additional settings (e.g. cluster scheme and ProxySQL load balancer for the MySQL database)

Locale Dropdown

  • restricted by the minimum/maximum nodes count and/or scaling mode (e.g for the MariaDB Galera type)

Locale Dropdown

  1. Herewith, to get additional information on the cluster to be created, you can hover over the question mark next to the switcher. Within the appropriate pop-up frame, you can find a short description, which is usually supplemented with a topology scheme and a link to the more detailed overview.

Locale Dropdown

tip

Additional info on the various database cluster types can be viewed by hovering over the appropriate Scheme:

Locale Dropdown

  1. The other settings can be configured just as for any regular environment.

Locale Dropdown

note

After being configured, auto-clustering cannot be disabled from the topology wizard.

  1. If needed, you can track the cluster configuration logs via the platform console:
https://app.xapp.cloudmydc.com/console

Locale Dropdown

For example, you can use this info for debugging while developing packaged solutions with Cloud Scripting, which utilize the auto-clustering feature.

Setting Up Auto-Clusterization with Cloud Scripting

In order to define auto-clustering settings in your JPS solutions, a new cluster property can be used. For example:

  1. Enable or disable auto-clustering for the specific layer.
"nodeGroup": "couchbase",
"cluster": true | false
  1. Additional parameters for auto-clustering can be provided in the following way (for example, can be required to select a database cluster scheme):
"nodeGroup": "mysql",
"cluster": {
"scheme": "master"
}
  1. If needed, the default JPS manifest with the clusterization steps can be substituted with a custom one:
"nodeGroup": "mysql",
"cluster": {
"jps": "http://.../custom-manifest.jps",
"settings": {
"scheme": "master"
}
}
  1. Based on the particular cluster requirements, some topology restrictions may be needed (e.g. the minimum/maximum number of nodes, scaling mode, etc.). It is implemented through the validation property.

Herewith, this parameter can be specified for any JPS package, e.g. check the YAML example below:

type: install
name: Validation
nodes:
image: alpine
nodeGroup: cp
count: 2
validation:
minCount: 2
maxCount: 3
scalingMode: stateful

That’s it! Now, you can easily use the auto-clustering solutions supported by the platform, as well as all benefit from the implementation specifics.