Contents

FioranoMQ's load balancing architecture involves the use of a Dispatcher-enabled MQServer to route incoming client connections to the least-loaded server in a cluster, as illustrated in the figure below.


The dispatcher component of a FioranoMQ server is typically connected to multiple FioranoMQ servers, which can run on different machines or on the same machine. All of these servers become part of the "cluster" that is serviced by the dispatcher.
The FioranoMQ Dispatcher runs as part of a server process and maintains a persistent connection with each FioranoMQ Server in its cluster. This persistent connection is used to pass information from the server to the dispatcher, enabling the dispatcher to maintain real-time "in-memory statistics" about the precise load in terms of the number of connections on each server. The dispatcher uses this information to determine the least loaded server in the cluster and route new incoming client requests accordingly.
An advantage of using the Fiorano Dispatcher is that no changes are required on the Client application in order to use Dispatcher. Once this function is turned on in a server, it automatically routes connection requests to the least loaded server. The server load is calculated internally by the dispatcher based on the maximum connections allowed on a particular server, and the number of active connections.

Preferred Server

At times, a particular client application may want to connect to a particular server in a cluster. This can be done by setting a flag to the "preferred server" within the cluster in the connection factory being used or in the lookup environment. The preferred server can be set through dispatcher configuration. The preferred server is typically used by client applications that have created durable subscriptions on a particular FioranoMQ server within known server clusters and wish to reconnect to the same server to retrieve messages.

Configuration Parameters

Parameter

Description

Login Name

Represents the login name used by the dispatcher to connect to an MQ server that parties a member of a cluster. The login should have admin privileges.

Password

Represents the password used by the dispatcher to connect to a member MQ server.

AdminConnectionFactory

Specifies the admin connection factory used by the dispatcher to connect to a member MQ server.

Server URL

Specifies the URL of the server in the cluster (Format: http://hostname:port)
Server Admin URL specifies the admin URL of the server in the cluster (Format: http://hostname/port)

Backup Connect URL

URLs of the backup servers used in case the primary server is down. Multiple backup URLs can be specified as a string of URLs separated by a semicolon. Example of a Backup Connect URL is http://backupServer1:1856; http://backupServer2:1856

MaxClientConnections

Specifies the weight associated with a server that is part of a cluster. A server with MaxClientConnections set to 2 will allow twice the number of connections as that set to 1.

SecurityManager

The Security Manager implementation is used to create secure connections with the MQ server. The manager should be an implementation of the fiorano.jms.runtime interface provided by FioranoMQ.

TransportProtocol (TCP/HTTP)

Is the protocol used for communicating with a server. Transport protocol can be set to either TCP or HTTP.

java.naming.security.protocol

Name of the security protocol used to create secure connections with the MQ server. The possible values that this variable can take are PHAOS_SSL and SUN_SSL.

Table: Configuration Parameters



Adaptavist ThemeBuilder EngineAtlassian Confluence