<< 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.
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 (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.
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.
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.
Paste the secret into both fields Secret and Confirm secret and save the node by clicking on the button Save.
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.
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 (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.
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.
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)
|
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.
Paste the Secret into both fields Secret and Confirm secret and save the node by clicking on the button Save.
Now repeat these steps with all the other Infoserver nodes you want to add to the cluster.
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. |
|
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. |
|