This topic discusses cluster architecture in the development and
production environments.
In the development
environment, you can start with a simple single-node cluster configuration and
expand it by adding more nodes. When you move to a production environment, you
can duplicate a multi-node development cluster.
A single-node cluster in the development environment
In a development environment, the simplest
version of a cluster may consist of just one node hosting an instance of the
MDEX Engine. This node is by definition the leader node — in a single-node
cluster, the only node is considered the leader node by default.
Note: You are not required to run a single instance of the MDEX Engine
in a cluster. Without the cluster services, having a single running MDEX Engine
instance is a valid configuration for starting in the development environment.
This diagram represents a single-node cluster in a development
environment:
In this diagram:
- The leader node is hosting
an MDEX Engine and is receiving query requests from Latitude Studio.
- The leader node's host and
port are included in the configuration for connectors from the Latitude Data
Integrator, which can send various kinds of data and updates to the MDEX Engine
index.
- The leader node (and any
additional nodes that you may add later) must have access to a shared file
system on which the MDEX Engine index is stored.
- Finally, the cluster is
managed by the MDEX Engine Cluster Coordinator. In a single-node cluster, the
Cluster Coordinator service runs on the same server on which the MDEX Engine is
running.
A multiple-node cluster in the development environment
In the development environment, many cluster
configurations are possible; they depend on the requirements for your
application. For example, while a single leader node is always required, the
number of additional follower nodes hosting the MDEX Engine instances may vary.
This diagram represents a possible multiple-node cluster in a
production environment:
In this diagram, starting from the top, the following actions take
place:
- The queries are sent to
the load balancer that is configured in front of several servers hosting
Latitude Studio instances.
- The instances of Latitude
Studio point to a second load balancer between Latitude Studio and the MDEX
Engine cluster. This load balancer is configured to recognize the leader node
and all follower nodes.
- The Latitude Data
Integrator is configured to communicate with the host and port of the leader
node to ensure a point of communication for sending data and updates.
- All nodes in the cluster
communicate with each other through the MDEX Engine Cluster Coordinator. The
Cluster Coordinator service must be running on the leader node.
- All nodes in the cluster
have access to a shared file system on which a shared index is stored.