Jump to: navigation, search
(Configuration Server)
(Configuration)
Line 34: Line 34:
  
 
==Configuration==
 
==Configuration==
This section describes the steps you must perform to configure your multiple datacenter deployment.
+
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:
<ul>
+
 
<li> '''cassandraCluster''':
 
 
<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
</source></li>
 
  
<li> '''serverSettings''':
+
serverSettings:
<source lang="text" encl="div">
 
 
  nodePath: <path-to-node-in-cluster>/<node-identity>
 
  nodePath: <path-to-node-in-cluster>/<node-identity>
</source></li>
 
 
    
 
    
<li> '''statistics''':
+
statistics:
<source lang="text" encl="div">
 
 
  locationAwareMonitoringDistribution: true
 
  locationAwareMonitoringDistribution: true
 
  enableMultipleDataCenterMonitoring: true
 
  enableMultipleDataCenterMonitoring: true
 
</source></li>
 
</source></li>
</ul>
 
  
In addition, set the following options on all StatNotdes:
+
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'''.
 
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.
 
  
 
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).

Gws multidatacenters-topo 851.png

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.

Gws multidc-arch 852.png

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:
    1. The name and ReplicationFactor of each.
    2. 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
Comments or questions about this documentation? Contact us for support!