Auto-Clustering of Instances via Topology Wizard

Starting with the 5.5.3 platform release, Jelastic PaaS provides an on-demand automatic clusterization 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.

GlassFish

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

glassfish cluster scheme

Learn More >>


Payara

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

payara cluster scheme

Learn More >>


WildFly

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

wildfly cluster scheme

Learn More >>


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:

  • Master-Master with Extra Slaves

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

    mysql cluster master-master scheme
  • Master-Slave with Extra Slaves

    Pre-configured replication with one master and one slave database. During the horizontal scaling, the cluster is extended with additional slave nodes.

    mysql cluster master-slave scheme
  • Multi MGR (Multi-Primary Group Replication)

    All servers can accept updates even if being issued concurrently.

    mysql cluster multi mgr scheme
  • Single MGR (Single Primary Group Replication)

    Just one node (primary) can accept updates at a time. An automatic election is called upon its unavailability.

    mysql cluster single mgr scheme

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:

  • Master-Master with Extra Slaves

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

    mariadb cluster master-master scheme
  • Master-Slave with Extra Slaves

    Pre-configured replication with one master and one slave database. During the horizontal scaling, the cluster is extended with additional slave nodes.

    mariadb cluster master-slave scheme
  • Galera Cluster

    All servers can accept updates even if being issued concurrently.

    mariadb cluster galera scheme

Learn more >>


Couchbase

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

couchbase cluster scheme

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).

wizard auto-clustering switcher

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

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

    mandatory enabled auto-clustering
  • provided with some additional settings (e.g. cluster scheme for the MySQL database)

    auto-clustering additional settings
  • restricted by the minimum/maximum nodes count and/or scaling mode (e.g for the MySQL Group Replication type)

    auto-clustering validation
2. 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.

auto-clustering hint description

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


database cluster schemes description
3. The other settings can be configured just as for any regular environment.

glassfish cluster at dashboard

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

4. If needed, you can track the cluster configuration logs via the platform console:

https://app.{platformDomain}/console

cloud scripting console
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
2. 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": "maser"
}
3. 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"
 }
}

4. 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 Jelastic PaaS, as well as all benefit from the implementation specifics.