Clustered Architecture

In a clustered environment, processing is shared among two or more instances of the server. All communication with Spectrum™ Technology Platform goes through a load balancer. Consider clustering if you require failover redundancy and high-volume, high-performance processing.

There are two ways to run Spectrum™ Technology Platform in a cluster. You can install the Spectrum™ Technology Platform server and configuration database on each node in the cluster, or you can separate the server from the configuration database.

Cluster with Server and Configuration Database on Each Node

In this configuration, a complete Spectrum™ Technology Platform server is installed on each node so that each node has both the server software and the configuration database. The configuration database stores things like your user names and passwords, connections, flows, history, and audit log.



This configuration has these advantages:

  • Processing is automatically distributed among the nodes in the cluster for optimal performance.
  • Configuration settings are automatically synchronized across nodes.
  • Uptime can be improved since if a node goes down the other nodes remain available to handle processing requests.
  • Adding a new node is easy.

Cluster with Separated Configuration Database

When you install the Spectrum™ Technology Platform server you are installing two things: server software and a configuration database. The server handles the execution of jobs and service requests, reporting, and logging. The configuration database stores data such as users and roles, data connections, dataflows, and the audit log.

For clusters consisting of only a few nodes, installing the server and configuration database together on each node provides acceptable performance. However, a cluster that consists of a large number of nodes may have its performance negatively affected by having a copy of the configuration database on each node. This is because an increasing number of nodes results in increased data replication between nodes during synchronization. Performance may also suffer if users are accessing the configuration database frequently through activities such as editing dataflows or job schedules. These activities require processing power, resulting in less CPU capacity available for running jobs and responding to service requests.

If you have an implementation with four or more nodes, you should consider installing the configuration database to separate servers. This is the most scalable installation scenario because you can add nodes without necessarily adding another instance of the configuration database. For example, say you have five nodes and three configuration database servers. You could add another five nodes, bringing the total number of nodes to 10, while still using just the three configuration databases to support all 10 nodes.

Installing the configuration database to a separate server has the following advantages:
  • More CPU is available to the server for running jobs, process flows, and service requests because reading and writing to the configuration database is handled by a separate server.
  • Reduced network traffic due to reduced configuration data replicated between nodes. For example, you could have five Spectrum™ Technology Platform servers for handling execution while having only three repositories. With just three repositories instead of five, data only needs to replicate between three servers rather than five.
  • Most scalable installation scenario.


Cluster Components

A cluster is comprised of these components:

Load balancer

As requests come into the cluster, the load balancer identifies the best available Spectrum™ Technology Platform node to handle the request. The request is then passed to a Spectrum™ Technology Platform node.

From the user's perspective, the distributed architecture is handled automatically behind the scenes. The user sends a request to the load balancer's URL and port for Spectrum™ Technology Platform (typically port 80 for a distributed environment) as if it were a single Spectrum™ Technology Platform server.

Nodes

A node is a Spectrum™ Technology Platform server. A node can contain a copy of the server and configuration database, or if you installed the configuration database to a separate cluster, each node contains either the server or the configuration database. Nodes are continuously synchronized. This enables each node to share the same settings, such as license information, dataflows, and database resources.

To configure the cluster, simply point Management Console or Enterprise Designer to the load balancer's URL and port for Spectrum™ Technology Platform (typically port 80 for a distributed environment).

External resources

The definitions for external resources such as database resources (postal databases and geocoding databases for example), JDBC connections, and file servers, reside in the configuration database. The resources themselves (databases, files, web services) can reside anywhere you choose. Database resources can be installed either on each node in the cluster or on a shared network location.

Because the database resources themselves reside outside the cluster, multiple clusters can share the same database resources. You must create the resource definitions in each cluster using Management Console. For example if you want multiple clusters to share the same geocoding database, you can install the geocoding database on a server accessible from each cluster, then in Management Console point each cluster to the geocoding database.

Installing a Cluster

For instructions on installing a cluster, see the Spectrum™ Technology Platform Installation Guide.