Contents

The section below describes the components and associated concepts that collectively form an Enterprise Server.

Backup Server

Fiorano's HA solution requires running a backup FioranoMQ server. This server (also referred to as "secondary server" in this document) can be started on the same or on a different machine. The server picks up all the messaging traffic as soon as it detects the unavailability of its Primary server.

Server States

FioranoMQ Servers that make up the Enterprise Server can be in either active or passive state. 'Active state' refers to the normal working mode of the server. In 'passive mode', the server only monitors its peer and does not handle any client requests. Client connections to a server in passive mode are refused. On startup, the server establishes communication with its peer server. If this peer server is 'alive', the current server enters passive mode. It leaves the passive mode and becomes active (accepts client connections) only when it detects that the peer is unavailable.

Intra-Enterprise Server Communication

Both Primary and Secondary servers open and listen on a TCP/IP port that allows them to establish a dedicated connection between themselves. This port is different from the one used by client applications for connecting to the server and hence does not affect normal messaging operations in the active server. A connection is established during the initialization phase of the servers and is used for exchanging 'health' and 'state' information between the two servers. Information gathered is used by the servers to switch to 'active' from 'passive' state (and vice-versa), if and when required.

Common Persistent Message Store

Both Primary and Secondary servers are required to logically access a common persistent message store. To achieve this, the FioranoMQ administrator can either point both the servers to the same physical database or can set up replication between the databases of the two servers. Both these options are available with Fiorano's file-based database as well as on third-party JDBC compliant RDBMS Servers.

Common Admin and Security

Besides the message store, the Primary and Backup Server in an enterprise server must share the admin objects (Destinations and Connection factories) and Security Information (ACLs and User Information) amongst themselves. This is achieved by using a common naming and realm storage (like RDBMS and LDAP) or setting up replication on these databases between the two servers.

Gateway Machine

Consider a scenario where the enterprise server consists of FioranoMQ server 1 and FioranoMQ server 2. Both these servers are constantly monitoring each other's status without any problems. Now, assume FioranoMQ Server 2 exits the network due to some network failure. Though FioranoMQ Server 2 is still running, it is no longer connected to the network (and hence not accessible to FioranoMQ Server 2 and to related client applications). In this scenario, a third gateway machine is used to detect the HA server which is no longer available on the network. It becomes imperative to choose a gateway machine that is least expected to fall out of the network. It is best to use the actual gateway server of the network, in which the enterprise server is deployed, as the Gateway machine for HA.

Icon

If the Gateway machine was to exit the network, HA continues to function properly as long as the two HA servers are present on the network. If one of the HA servers also goes out of the network, then it is not possible to reach a consistent state. In such a situation, both the servers' switches to passive mode and the enterprise server will not be in a position to process client requests. However, the enterprise server would be available for client requests when either both peers are up or if one of the peers and the gateway machine are available on the network.

Adaptavist ThemeBuilder EngineAtlassian Confluence