The fundamental feature of a load balancer is the ability to distribute
incoming requests over a number of backend servers in the cluster according to
a scheduling algorithm.
In a
3DOrchestrate
cluster, any
3DOrchestrate
station can transparently receive and execute any activity from any of the
3DOrchestrate
servers.
For an overview of load balancing in the 3DEXPERIENCE platform, see 3DEXPERIENCE Platform
Installation Guide: Before Starting the Installation.
The figure below shows the key network components of a
3DOrchestrate
cluster.
Reverse proxy
server
|
The reverse proxy server is identified by a
specific network socket (hostname and port). There must be only one reverse
proxy server instance. The reverse proxy server is the
3DOrchestrate
cluster front end for external HTTPS traffic generated by
3DOrchestrate
private stations and simulation client apps.
|
Load balancer
|
The load balancer is identified by a specific
network socket (hostname and port). There must be only one load balancer
instance. The load balancer will be the
3DOrchestrate
cluster front end for internal HTTP traffic within the
3DOrchestrate
perimeter.
|
JMS brokers
|
The cluster includes a network of ActiveMQ JMS brokers. Each
broker is identified by a set of specific information (index, tag, hostname,
multiple ports, etc.).
|
3DOrchestrate
server cluster
|
The
3DOrchestrate
server cluster consists of multiple TomEE
3DOrchestrate
applications that share memory. Each
3DOrchestrate
server is identified by a set of specific information (index, tag, hostname,
multiple ports, etc.).
|
Database instance (not shown
above)
|
The database instance for the
3DOrchestrate Distribution Server
application is identified by JDBC connection parameters. There must be only one
instance of this database.
|
Network shared folder
|
A folder/directory on a shared network disk
that is used by all
3DOrchestrate
servers to share data files needed for standard operations.
|
There are two ways to set up the
3DOrchestrate
servers in a high availability cluster:
- Vertical clustering
- Running multiple
3DOrchestrate
servers and ActiveMQ brokers on a single machine.
- Horizontal clustering (recommended)
- At least two
3DOrchestrate
servers and two ActiveMQ brokers hosted on separate machines. This is the
recommended configuration for maximum fault tolerance and performance.
Apache ActiveMQ is an open-source message broker together with a full
Java Message Service (JMS) client. ActiveMQ 5.10.1 is included with the
3DOrchestrate
installation and is the only supported ActiveMQ version.
HAProxy Server is the recommended load balancer to use with
3DOrchestrate.
HAProxy is a popular open-source TCP/HTTP load balancer and proxying solution
that is included with most mainstream Linux distributions. See
http://www.haproxy.org/.
For details about configuring the reverse proxy server, see
Reverse Proxy Configuration for 3DOrchestrate.
Shared Network Disk Space
With horizontal clustering, you run the multiple
3DOrchestrate
servers on different server machines. In this configuration you must allocate a
network shared folder/directory for use by all of the
3DOrchestrate
servers. You specify the path to this shared folder for each
3DOrchestrate
server when you register them (in
Registering, Deploying, and Configuring the 3DOrchestrate Servers).
The
3DOrchestrate
servers use this disk space to share data files needed for standard operations.
The directory/folder you specify must comply with the following guidelines:
- Already exists when you use the command
smaexe-deploy ...
share=<network-share-path> EnlistEED
to
register each server.
- Is accessible from every Windows and Linux computer that is hosting
a
3DOrchestrate
server.
- Has appropriate read/write permissions for all user accounts that
may potentially execute a
3DOrchestrate
server.
-
Has enough disk space for normal
3DOrchestrate
operations. It is impossible to recommend a standard amount of disk space
because this depends on your specific business needs. However, do not
underestimate the storage needed. Be sure to set up some sort of disk monitor
or probe to ensure that this directory does not run out of space.
You should provision 1 GB storage to start with, and then monitor
the file activity for a reasonable amount of time before resizing.
Plan this disk space allocation ahead of time, before you begin
configuring your cluster.
Cluster Operation
From the point of view of simulation client apps and end users, the
3DOrchestrate
server cluster has only one endpoint URL in the
3DEXPERIENCE platform
system:
https://<hostname>:<port>/SMAExeServer-REST