Latitude cluster architecture

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.