(→Configuration Server) |
(→Configuration) |
||
Line 34: | Line 34: | ||
==Configuration== | ==Configuration== | ||
− | This section describes the | + | This section describes the additional configuration required to set up a multiple datacenter deployment. |
===Cassandra=== | ===Cassandra=== | ||
Line 66: | Line 66: | ||
In addition to the configuration options set in the standard deployment procedure, set the following configuration options '''application.yaml''' for all GWS nodes to enable the multiple datacenter functionality: | In addition to the configuration options set in the standard deployment procedure, set the following configuration options '''application.yaml''' for all GWS nodes to enable the multiple datacenter functionality: | ||
− | + | ||
− | |||
<source lang="text" encl="div"> | <source lang="text" encl="div"> | ||
+ | cassandraCluster: | ||
write_consistency_level: CL_LOCAL_QUORUM | write_consistency_level: CL_LOCAL_QUORUM | ||
read_consistency_level: CL_LOCAL_QUORUM | read_consistency_level: CL_LOCAL_QUORUM | ||
− | |||
− | + | serverSettings: | |
− | |||
nodePath: <path-to-node-in-cluster>/<node-identity> | nodePath: <path-to-node-in-cluster>/<node-identity> | ||
− | |||
− | + | statistics: | |
− | |||
locationAwareMonitoringDistribution: true | locationAwareMonitoringDistribution: true | ||
enableMultipleDataCenterMonitoring: true | enableMultipleDataCenterMonitoring: true | ||
</source></li> | </source></li> | ||
− | |||
− | In addition, set the following options on all | + | In addition, set the following options on all StatNotes: |
<source lang="text" encl="div"> | <source lang="text" encl="div"> | ||
'''serverSettings''': | '''serverSettings''': | ||
Line 94: | Line 89: | ||
===Configuration Server=== | ===Configuration Server=== | ||
− | The GWS Cluster Application object (typically named '''CloudCluster''') in the Configuration Database) must be configured with a specified location for each connection to Genesys servers, like Configuration Server, Stat Server, T-Server, and so on. Set these locations as Application Parameters of each connection, as follows: | + | The GWS Cluster Application object (typically named '''CloudCluster''') in the Configuration Database) must be configured with a specified location for each connection to Genesys servers, like Configuration Server, Stat Server, T-Server, and so on. This setting defines which server instance is used by the GWS node based on its position in the GWS Cluster. The visibility resource rule is based on comparing the '''nodePath''' attribute and the specified specification in connections. |
+ | |||
+ | Set these locations as Application Parameters of each connection, as follows: | ||
<source lang="text" encl="div"> | <source lang="text" encl="div"> | ||
locations=<path-to-node-in-cluster> | locations=<path-to-node-in-cluster> | ||
</source> | </source> | ||
where <tt><path-to-node-in-cluster></tt> is the same path to the datacenter specified by the '''nodePath''' property in '''application.yaml'''. | where <tt><path-to-node-in-cluster></tt> is the same path to the datacenter specified by the '''nodePath''' property in '''application.yaml'''. | ||
− | |||
− | |||
For example: | For example: |
Revision as of 18:10, July 6, 2017
Multiple Datacenter Deployment
Starting in release 8.5.1, GWS supports a deployment with multiple (two or more) datacenters. This section describes a this type of deployment.
Overview
A multiple datacenter deployment implies a logical partitioning of all GWS nodes into segregated groups that are using dedicated service resources, such as T-Server, StatServers, and so on.
The topology of a GWS Cluster can be considered as a standard directory tree where a leaf node is a GWS data center. The following diagram shows a GWS Cluster with 2 geographical regions (US and EU), and 3 GWS datacenters (East and West in the US region, and EU as its own datacenter).
For data handling and distribution between GWS datacenters, the following third-party applications are used:
- Cassandra—A NOSQL database cluster with multiple datacenters with data replication between each other.
- Elasticsearch—A search engine which provides fast and efficient solution for pattern searching across Cassandra data. Genesys recommends that each GWS datacenter have an independent, standalone Elasticsearch cluster.
Architecture
A typical GWS datacenter in a multiple datacenter deployment consists of the following components:
- 2 APINodes
- 2 StatNodes
- 3 Cassandra nodes
- 3 ElasticSearc nodes
- 1 SyncNode (only for Primary region)
The following diagram illustrates the architecture of this sample multiple datacenter deployment.
Note the following restrictions of this architecture:
- Only 1 SyncNode is deployed within a GWS Cluster
- Each datacenter must have a dedicated list of Genesys servers, such as Configuration Servers, Stat Servers, and T-Servers.
- The Cassandra Keyspace definition must comply with the number of GWS datacenters.
- Each GWS datacenter must have its own standalone and dedicated Elasticsearch Cluster.
- The GWS node identity must be unique across the entire Cluster.
Configuration
This section describes the additional configuration required to set up a multiple datacenter deployment.
Cassandra
Configure Cassandra in the same way as for a single datacenter deployment (described earlier in this document), making sure that the following conditions are met:
- All Cassandra nodes must have the same cluster name in application.yaml.
- The same datacenter name must be assigned to all Cassandra nodes across the GWS datacenter (specified in cassandra-network.properties or cassandra-rackdc.properties, depending on the Cassandra deployment).
- The Keyspace definition must be created based on ks-schema-prod_HA.cql from the Installation Package, changing only the following:
- The name and ReplicationFactor of each.
- The number of datacenters between which the replication is enabled.
For example:
CREATE KEYSPACE sipfs WITH replication = {'class': 'NetworkTopologyStrategy', 'USWest': '3', 'USEast': '3', 'EU': '3'} AND durable_writes = true;
Genesys Web Services and Applications
The position of each node inside the GWS Cluster is specified by the mandatory property nodePath provided in application.yaml. The value of this property is in the standard file path format, and uses the /” symbol as a delimiter. This property has the following syntax:
nodePath: <path-to-node-in-cluster>/<node-identity>
Where:
- <path-to-node-in-cluster> is the path inside the cluster with all logical sub-groups.
- <node-identity> is the unique identity of the node. Genesys recommends that you use the name of the host on which this datacenter is running for this parameter.
For example:
nodePath: /US/West/api-node-1
In addition to the configuration options set in the standard deployment procedure, set the following configuration options application.yaml for all GWS nodes to enable the multiple datacenter functionality:
cassandraCluster: write_consistency_level: CL_LOCAL_QUORUM read_consistency_level: CL_LOCAL_QUORUM serverSettings: nodePath: <path-to-node-in-cluster>/<node-identity> statistics: locationAwareMonitoringDistribution: true enableMultipleDataCenterMonitoring: true
In addition, set the following options on all StatNotes:
'''serverSettings''':
elasticSearchSettings:
enableScheduledIndexVerification: true
enableIndexVerificationAtStartUp: true
Configuration Server
The GWS Cluster Application object (typically named CloudCluster) in the Configuration Database) must be configured with a specified location for each connection to Genesys servers, like Configuration Server, Stat Server, T-Server, and so on. This setting defines which server instance is used by the GWS node based on its position in the GWS Cluster. The visibility resource rule is based on comparing the nodePath attribute and the specified specification in connections.
Set these locations as Application Parameters of each connection, as follows:
locations=<path-to-node-in-cluster>
where <path-to-node-in-cluster> is the same path to the datacenter specified by the nodePath property in application.yaml.
For example:
locations=/US/West