Setting up Universal Messaging for use by Apama
For Apama to use the Universal Messaging message bus, there are some required Universal Messaging tasks. These steps will be familiar to experienced Universal Messaging users.
Plan and implement the configuration of the
Universal Messaging cluster that Apama will use. The recommendation is to have at least three
Universal Messaging realms in a cluster because this supports
Universal Messaging quorum rules for ensuring that there is never more than one master in a cluster. However, if you can have only two
Universal Messaging realms, you can use the
isPrime flag to correctly configure a two-realm cluster. For details about configuring a
Universal Messaging cluster, see the topics in the
Universal Messaging documentation that describe the following:
Quorum
Clusters with Sites, which describes an exception to the quorum rule.
To set up Universal Messaging for use by Apama, do the following for each Universal Messaging realm to be used by Apama:
1. Use the Software AG Installer to install Universal Messaging. Make sure to select the option to install the Universal Messaging client libraries.
The Universal Messaging server can be installed on any machine (not necessarily on the same machine as Apama), but you must ensure that the Universal Messaging client libraries are present in the same Software AG installation directory as Apama, as these libraries are required by the Universal Messaging transport connectivity plug-in.
Note:
If you are using JMS or Digital Event Services to access Universal Messaging, installing the client libraries is not required.
2. Start a Universal Messaging server.
3. Use Universal Messaging's Enterprise Manager or Universal Messaging client APIs to set the access control lists of the Universal Messaging server to allow the user that the correlator is running on. See the Universal Messaging documentation for details.
In production, it is usually better to change missingChannelMode to error and then add the channels that Apama will use explicitly using Universal Messaging's Enterprise Manager (or the client APIs). In this case, configure the following Universal Messaging channel attributes. Together, these attributes provide behavior similar to that provided by using the Apama correlator tool engine_connect.
Set
Channel Capacity to
20000 or some suitable number, at least 2000 events. A number higher than 20,000 would allow larger bursts of events to be processed before applying flow control but would not affect overall throughput.
Select
Use JMS engine. See also the information on engine differences in the
Universal Messaging documentation.
Set
Honour Capacity when channel is full to
true.
These channel attributes provide automatic flow control. If a receiver is slow, then event publishers block until the receivers have consumed events.
Other channel attributes are allowed. However, it is possible to set Universal Messaging channel attributes in a way that might prevent all events from being delivered to all intended receivers, which includes correlators. For example, Universal Messaging can be configured to conflate or throttle the number of events going through a channel, which might cause some events to not be delivered. Remember that delivery of events is subject to the configuration of the Universal Messaging channel. Consult the Universal Messaging documentation for more details before you set channel attributes that are different from the recommended attributes.