Contents
 Contents

FioranoMQ Management Server

The FioranoMQ Management Server is a FioranoMQ Server which holds the added responsibilities of handling the profile (Server configurations) management globally. The FioranoMQ Management server interacts with the Apache Directory Services for communicating all the configuration parameters to other FioranoMQ messaging servers that are connected. The Directory Service manager handles all the interactions with the FioranoMQ Messaging Servers and translates them into requests understandable by the Apache Directory Service that store all the global profiles.

Cluster Manager

The FioranoMQ Management Server processes all the requests of its clients, i.e. other FioranoMQ messaging Servers, through the Cluster Manager component, i.e. the Directory Services Manager MBean. The FioranoMQ messaging Servers communicate with the FioranoMQ management Server through an RMI connection. The Cluster Manager is also responsible for transferring changes made to the Configs.cfg file or to the profile entry in DS to all the messaging servers using that profile. Each profile entry in the FDS will possess information about all the Servers that have booted using that profile.

How to run FioranoMQ Management Server

The FioranoMQ installer generates a set of preconfigured profiles within which the 'FioranoMQ_ClusterManager' profile is used for running the FioranoMQ Management Server.

To run in Windows or UNIX machines please navigate to $FIORANO_HOME/fmq/bin and execute startCluster.bat (.sh) which uses the 'FioranoMQ_ClusterManager' profile.

Below are the ports used for running the FioranoMQ Management Server. These ports are different from those used by a normal messaging Server.

  • Accepting Connections at: 1656
  • RMI Port: 1658
  • Dashboard Listening Port: 1680
  • Directory Services default Port: 10389

When the FioranoMQ Management server is run, it loads the FDS component and starts the Apache Directory Services on the default port (10389). When it is started for the first time all the default profiles are loaded into the Directory Services and areused only for global access and modifications.

The console of the FMQ Management Server when run will display :

When run for the first time, a message, below, is displayed:

Successfully added default profiles from directory [ E:\Fiorano\FioranoMQ9.1.0\DSInstance\FioranoMQ_ClusterManager\Profiles] to the Fiorano Directory Service.

Default profiles available at $FIORANO_HOME/fmq/profiles are loaded to the Apache Directory Services when the FDS is run for the first time and will persist as a separate instance under $FIORANO_HOME/DSInstance/ FioranoMQ_ClusterManager/profiles directory. Adding new profiles or modifications to the existing profiles will be effective only if done in this directory.

Configuring the DSInstance Path

The DSInstance path can be configured either using the Configs.cfg file of FioranoMQ_Clustering profile or using Studio in offline mode.

Given below are the steps to configure the DSInstance from the Studio:

  1. Open the FioranoMQ_Clustering profile from the Studio in the offline mode.
  2. Navigate to FioranoMQ_Clustering >> Fiorano >> etc >> DirectoryService >> InstancePath.
  3. Set the InstancePath parameter to a valid absolute path.

Given below are the steps to configure DSInstance from Configs.cfg:

  1. Open Configs.cfg file from the FioranoMQ_Clustering profile located at $FIORANO_HOME/fmq/profiles/FioranoMQ_Clustering/conf.
  2. Under the Clustering Manager Configuration Settings group provide the absolute path for the parameter InstancePath.

The InstancePath parameter and theDirectory Services parameters are only available for the FioranoMQ_ClusterManager profile.

Propagation of modified attributes to FMQ Messaging Servers

As discussed previously, any configuration changes that are made to a profile that resides in the Directory Service will be propagated to all the FioranoMQ Messaging Servers which are registered under that particular profile. There may be some changes to the FioranoMQ parameters that require a Server restart to take effect. In this particular case, a check is done for the attributes that require restarting the Server and an appropriate notification is sent to the FioranoMQ Messaging Server.

Icon
  • Local changes made to profiles of the individual Servers are not propagated and these changes affect only that particular instance of the messaging Server and not the profile in the central repository.
  • Individual registered Servers decide whether they want to save global changes. If these changes are not saved, the local copy of the profile used by the Server will incorporate the modifications made to the profile located at the central repository.
  • The changes made to the profile located at the central repository are propagated to all Servers running on the modified profile.

A notification to save the configurations and restart the server for the changes to get effective, is shown below. 

<Under what different conditions does the propagation of attributes not reach the messaging server?>

Registering & De-Registering Servers

The FioranoMQ Management Server is responsible for the maintenance of the server-profile information in Apache DS. When a FioranoMQ Messaging Server sends the notification to register itself under a profile, the Cluster manager adds an entry for the Server under the 'RegisteredServers' node of the profile entry in the DS. The Cluster Manager also adds an entry for the Server under the 'Servers' domain to keep track of the list of all registered servers present in the network. When the Cluster Manager receives a notification to remove the registration of a Server from a profile, it deletes the Server's entry from the 'RegisteredServers' node and from the 'Servers' domain.

Handling Network Failure

At the time of registering the FioranoMQ Messaging Server in the FioranoMQ Management Server, the Management Server continuously fetches the health status of the messaging server as per the configured ping intervals. If this request to fetch the health status (HEALTH_REQUEST_MAN) fails (as explained below), the corresponding messaging Server will be de-registered from the Management Server.

It is important to understand the two different parameters used while 'Pinging' the Messaging Servers:

  • PingInterval: Time duration in Milliseconds for which the Pinging Thread will wait before sending the next request.
  • PingTimeout: Timeout for each of the HEALTH_REQUEST_MANs after which an exception occurs and the corresponding messaging Server is de-registered.

These parameters are configurable in the Management Server's profile.

HEALTH_REQUEST_MAN may fail due to the reasons below:

  • If Messaging Server is shutdown in a manner that is not acceptable.
  • If Messaging Server's process exits abruptly.
  • If Messaging Server is Out of Network.
  • If Management Server is Out of Network.
  • If Request takes an unusually long time and timeout occurs.

FMQ Messaging Server

The FioranoMQ Messaging Server acts as a normal MQ server and is configurable to connect to the MQ management Server. The FMQ messaging server makes an RMI connection with FioranoMQ Management Server to download a specified profile from which boot up. The messaging Servers get themselves registered under the profile entry of the profile that they are using that is available in the DS.

The FioranoMQ Messaging Server gets notified of changes made to the profile in the FDS while it is running. Whena messaging Server shuts down, a notification is sent to remove its registration from the profile on which it was running.In instances of network failures a notification to remove the registration from the profile cannot be sent.

How to run FioranoMQ Messaging Server

A FioranoMQ Messaging server can be started with any of the desired profiles present in the FDS repository. The User is provided with an option to fetch the desired profile that is used for booting up. For instance, if the desired profile is <FioranoMQ_Machine1>, the FioranoMQ messaging Server should be started using:

If the desired profile exists in the FDS repository, it will be downloaded to this particular messaging Server's profiles' directory. If the desired profile does not exist, the messaging Server will try to boot up using a local profile with the same name. If this profile, too, is not present in the local directory, the Server will not boot up and will exit.

The console of the FioranoMQ messaging Server displays the information below when connected to FioranoMQ Management in order to fetch a profile and boot up using the same profile:

The console should indicatethat it has successfully registered under the same profile with the FDS as shown below:

Default behavior:
The behavior of the FioranoMQ Messaging Server is based on the properties cluster.cfg file located at $FIORANO_HOME/fmq/profiles. By default, the FioranoMQ Messaging Server is not configured to fetch or download profiles from the FMQ Management Server. Therefore, the properties listed below, within cluster.cfg file, need to be modified.

FETCH_PROFILE: This a Boolean value determining whether to fetch profile from the Management Server. By default this value is set to 'FALSE'.Because this value is set to 'FALSE' the FMQ Messaging Server doesnot connect to the FioranoMQ Management Server to fetch the desired profile and run as a normal FioranoMQ server

FETCH_PROFILE_ONLY_ONCE: This is a Boolean value determining whether to fetch a given profile when a FioranoMQ messaging Server is restarted. If set to 'TRUE', the Messaging Server which using the profile will not fetch the profile from the FMQ Management Server when restarted. In such instances the FioranoMQ Messaging Server will still be registered within the FioranoMQ Management Server.

The default value this value is set to 'TRUE'.

This flag is valid only when the flag FETCH_PROFILE is set to true.

Configurable Parameters within cluster.cfg

Below are the configurable parameters that can change the behavior of the FioranoMQ Messaging Server:

  • BIND_NAME=fmq Bind name of the Management Server. This parameter need not be changed for normal users.
  • PROTOCOL=rmi Protocol which will be used for making a connection to the Management Server's JMX server.
  • SERVER_ADDRESS=localhost IPAddress of the Management Server where the JMX Service is started.
  • PORT=1658 RMI port which will be used for making a JMX Connection.
  • USERNAME=admin User name which will be used for authentication while making a JMX Connection.
  • PASSWORD=passwd Password which will be used for authentication while making a JMX Connection.
  • WAIT_BETWEEN_RECONNECT_ATTEMPTS=5000 This is the time, in milliseconds, the Messaging Server waits before trying to re-establish a connection with the Management Server.
  • PING_INTERVAL=20000 This is the time, in milliseconds, the Messaging Server waits before trying to check the health status of the Management Server.
  • PING_TIMEOUT=10000 This is the timeout duration, in milliseconds, for each ping request to check health status of the Management Server.

Please note that one should wait for the FioranoMQ Management Server to be running for the FioranoMQ Messaging Server to be successfully registered.

Adaptavist ThemeBuilder EngineAtlassian Confluence