Cluster

<< Click to display Table of Contents >>

Navigation:  System >

Cluster

With the new modular server architecture of Cordaware bestinformed® Version 6, where Infoserver, web server or it's database are able to operate independently, you can combine multiple Infoservers or databases from different systems to form a grid or cluster in order to distribute network traffic, achieve high availability and reliability or simply backup your data on an external system.

 

For example, if you have multiple sites with bestinformed® installations, you can combine these to form a grid where all data (e.g. Templates, Filters, Infos) and client connections are shared and accessible throughout all connected installations. If the connection to other sites is cut off, every site is able to run independently and local data can still be managed and Infos sent to locally connected clients (Island Mode).

 

 

Warning:

 

We advise you to set up the cluster on a clean system which has no data yet.

 

There are a few problems which can occur if the cluster is created with servers which already have data saved. For example data can exist multiple times. Additionally the following settings have to be checked because they might have been overwritten when the cluster was created:

 

- Default profile and domain

- Domain settings

- Roles

- Profiles

- Filters

 

Node Types

 

With the app Cluster (System -> Cluster) you can manage and create as many Cordaware bestinformed® nodes as you want, which will be combined into a cluster. There are two types of nodes you can combine from different Cordaware bestinformed® installations:

 

Database Nodes: Combining data base nodes from different Cordaware bestinformed® installations will result in a data base cluster, where all stored data such as Infos, Templates or Filters will by synchronized across all connected database nodes. All new data and changes will be shared and synchronized in real-time to make sure every connected location has the same data.
 

Infoserver Nodes: While combined database nodes only share stored data from the data base which doesn't include the clients and their information which are connected to each site, combining Infoserver nodes of multiple Cordaware bestinformed® installations will share all connected clients of each site and make them visible across all connected site.

 

 

Warning: When combining multiple Cordaware bestinformed® installations only via database nodes without adding the Infoserver nodes, it is possible to address clients from other nodes which aren't visible from your local site. This is because when creating an Info, the Info will be synchronized across all connected databases and if the used Filters apply to locally connected clients, these clients will receive the Info. Therefore we recommend combining both database and Infoserver nodes when connecting multiple sites.

 

To create a full cluster of multiple Cordaware bestinformed® installations from different systems, you need to combine both the database (best_data) nodes and the Infoserver (best_srv) nodes. Doing this will result in a grid of independent Cordaware bestinformed® systems where all data and client connections are shared across all connected systems. In case of a connection outage to other nodes, the system can still be operated locally and you are still able to address locally connected clients. When connection is re-established all changes from each database nodes will be synchronized across all connected nodes.

 

Cluster_Grid-example

Image: Example of required nodes in the Cluster app for building a cluster from database and Infoserver nodes between three different Cordaware bestinformed® installations.

 

 

In order to get a functioning cluster you'll need to combine at least two different nodes of the same type. When creating these nodes, keep in mind that the given address needs to be accessible throughout all connected nodes in order to communicate with each other. Don't use any device-specific addresses such as localhost loopbacks.

 

 

You can find a cluster example and how to create it here.

 

With the app Cluster (System -> Cluster) in the web interface you can review, manage all connected nodes and create new ones.

 

Register Database Nodes

 

In order to create a database cluster, you need to create at least two database nodes from two different best_data services. To create a new node, click on the button button-neu (New) in the toolbar.

 

First, enter your desired name for the node. We recommend using the location or server name where the service is running on.

 

cluster-neuer-db-knoten

 

Name

Name of your node for identification in the overview. We recommend using the server name or location of the server.

Description (optional)

Optional description of the node displayed in the overview.

Active

Determines if this node is active or not in the cluster. Inactive nodes will not share or receive any data from other nodes.

 

Next, select the "Database" from the selection menu Type and enter the connection information below.

 

cluster-neuer-db-knoten2

 

Type

Defines the type of node.

Zone

Select a zone this node should be assigned to. More information about zones can be found here.

Version

Select the database version used by this node (CouchDB version). Currently every Cordaware bestinformed® installation comes with CouchDB version 2.3 by default. If the selected node is running CouchDB version 1.6 or 2.0, select that version from the drop-down menu.

Address

Enter the IP address or FQDN of the host, where the database service is running. Keep in mind that this address needs to be accessible throughout all included nodes.

Port

Enter the port used to access the database. By default, the port is "5984" without SSL, when using SSL the default port is "6984".

Adminport

Enter the admin port used to access the database. By default, the port is "5984" without SSL, when using SSL the default port is "6984".

SSL

Select this option to use an SSL-secured connection.

Insecure

Activate this option to allow self-signed certificates.

 

Finally, enter the Secret of the database. It's similar to a password which is required to access the data from other database nodes. Each database (CouchDB) has it's own Secret. You can find this Secret in the configuration file "local.ini", located in the installation directory of each database

(e.g. C:\Program Files\Cordaware\best_data\etc\local.ini).

 

Open the file, find the entry "secret=value" in the [couch_httpd_auth] section and copy it's value.

 

cluster-neuer-db-knoten3

 

Paste the secret into both fields Secret and Confirm secret and save the node by clicking on the button Save.

 

cluster-neuer-db-knoten4

 

Now repeat these steps with all the other database nodes you want to combine into a cluster. Keep in mind that every database has it's own Secret that needs to be entered in order access it's data.

 

Cluster_DBCluster

 

 

Register Infoserver Nodes

 

In order to share connected clients and their information with other Cordaware bestinformed® Infoservers, you need register at least two Infoserver nodes. To register a new Infoserver node, click on the button button-neu (New) in the toolbar.

 

Enter a name of your choice for the new node used in the overview. We recommend using the location or server name where the service is running on.

 

cluster-server-knoten1

 

Name

Name of your node for identification in the overview. We recommend using the server name or location of the server.

Description (optional)

Optional description of the node displayed in the overview.

Active

Determines if this node is active or not in the cluster. Inactive nodes will not share with or receive any data from other nodes.

 

Next, select the type Server from the dropdown menu Type and enter the server information below.

 

cluster-server-knoten2

 

Typ

Defines the type of node.

Zone

Select a zone this node should be assigned to. More information about zones can be found here.

Address

Enter the IP address or FQDN of the host, where the Infoserver service is running. Keep in mind that this address needs to be accessible through out all included nodes.

Port

Enter the port used to access the database. By default, the port is "5984" without SSL, when using SSL the default port is "6984".

SSL

Select this option to use an SSL-secured connection.

 

Additional settings for Infoserver nodes:

I2M

Specifies whether the Infoserver node has the right to use Info2Mail.

UUID

Unique identification ID. This ID is needed to identify the Infoserver.

 

The UUID can be found in the Infoserver installation directory in the best_local.ini file.

(C:\Program Files\Cordaware\best_srv\etc\best_local.ini)

 

Cluster_best_local_ini

 

Just like the every Cordaware bestinformed database, every Cordaware bestinformed Infoserver has it's own Secret which is required to form a connection with the selected node. The Secret of each Infoserver can be found in it's installation directory within the configuration file "best_local.ini"

(e.g. C:\Program Files\Cordaware\best_srv\etc\best_local.ini).

 

Open the file with a text editor of your choice, find the entry secret=[value] in the [best] section and copy it's value.

 

cluster-server-knoten3

 

Paste the Secret into both fields Secret and Confirm secret and save the node by clicking on the button Save.

 

cluster-neuer-db-knoten6

 

Now repeat these steps with all the other Infoserver nodes you want to add to the cluster.

 

Cluster_Grid-example

 

When successfully connecting at least two different Infoserver nodes, all nodes will share their connected clients and their information across all nodes in the cluster and will appear in the connection overview.

 

 

In the connection overview, you can find the column best_srv which displays, which Infoserver the listed client is connected to.

cluster-verbindungen1

 

 

When reviewing the recipients of an Info sent within an Infoserver cluster, you can see in the column Host which Infoserver the client is connected to.

cluster-empfänger