Signaling mechanism in a server group


AR System server uses the Java Messaging Service (JMS) or Remote method invocation (RMI) mechanism to communicate with other servers in the group. Servers determine the active status of all other servers in the server group by using the Heartbeat mechanism. (For Java servers, arsignald process is not used for communication in a server group.)

JMS message

When a server needs to communicate with the other servers in the group to process a request, the following actions occur:

  • Server sends JMS to the coordinator server for the specific request.
  • The coordinator server fetches information from the ranking form about the servers that need to be notified.
  • The coordinator server sends JMS message to notify the servers to process the request.  

This type of communication is used in operations such as Full Text Search (FTS), application pending messages such as Approval Server and Atrium Integrator.

For more information on the AR System Server Group Operation Ranking form, see Setting-failover-rankings-for-servers-and-operations

The following images show examples of how JMS is used:

Examples

Example of approval assignment using JMS

The following image represents the flow of an approval request. When an approval request is received by a server, the request is forwarded to the coordinator server. The coordinator server checks the approval rank and forwards the JMS to the approval owner. In this example, the JMS is forwarded to Server 1:

221_Signalling mechanism in a server group_1.png


Example of FTS assignment using JMS

In the following image, the AR System server checks the FTS rank. If the server receiving the request does not have an FTS rank, it sends the JMS to all the servers that have an FTS rank. 

221_signalling mechanism in a server group_2.png

License release

JMS messages are also used to notify servers when a user logs out, releasing a fixed or floating license on a server in the server group. Set the Suppress-Logoff-Signals parameter in Centralized Configuration to False. This ensures that when a user logs off from a server in a server group, other servers are notified about it, and the license is released back to the license pool. 

If Suppress-Logoff-Signals is not added to Centralized-configuration, add it manually.  Set Suppress-Logoff-Signals to True for systems where users cannot be logged on to additional servers with the same user session through a load balancer.

Remote Method Invocation

Java server uses Ehcache to hold metadata object cache in memory. For a server group, only the server designated as an administrator server is allowed to modify the metadata. When metadata is modified in the administrator server, Ehcache is updated. Ehcache is configured to communicate these changes to other servers in a server group by means of RMI calls so that the other servers also update their in-memory metadata cache.

Heartbeat mechanism

The heartbeat mechanism enables a server to determine the active status of all other servers in a server group. Each server in the group updates the servgrp_board table in the database to notify its availability. Heartbeat mechanism is also used during the startup of the server or when a new server is added to the server group. 

For more information on servgrp_board table, see Server-group-information-stored-in-the-database.  

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*