Different BusinessEvents processing units and agents within the processing units have specialized roles in a Cache OM architecture. Sections below provide more detail.
Agent group IA1 has three active agents, and agent group IA2 has two load balanced agents and one standby agent for fault tolerance. Each agent group is listening on a different destination. See
Load Balancing and Fault Tolerance of Inference Agents for details.
You define the cluster member machines, processing units, and agents in the Cluster Deployment Descriptor (CDD) which is an XML file, configured in the CDD editor in BusinessEvents Studio. See
CDD Configuration Procedures in
TIBCO BusinessEvents Administration.
Each processing unit in a cache cluster runs in an instance of a Java virtual machine (JVM). It hosts one or more BusinessEvents agents. It is also known as a node in the
TIBCO BusinessEvents Cache Configuration Guide.
An inference agent executes rules according to the rule agenda created using the Rete network. In Cache OM systems, inference agents are connected to the cache cluster, enabling fault tolerance of engine processes and cache data, as well as load balancing (with queues).
At design time, you configure an inference agent class with a selection of rules from the project, and a selection of destinations, and, as needed, a selection of shutdown and startup functions. Instances of an agent class deploy as an
agent group. Each agent in a group runs in a different processing unit, concurrently, to enable load balancing (when events come from a queue) and fault tolerance.
The purpose of cache agents is to store and serve cache data for the cluster. Dedicated cache agent PUs are non-reasoning agents used as storage nodes only (one per PU). Cache agents are responsible for object management. They participate in distribution, partitioning and storage of the objects in the cluster.
The amount of memory you need for cache servers depends on factors such as how many objects you have, their object management configuration, and whether you are using limited or unlimited cache.
You must find an appropriate balance for your projects between too little memory, which leads to too much time spent in garbage collection, and too much memory, which leads to longer garbage collection cycles. The optimal heap size depends on factors such as how much data is kept in each cache server, how many cache servers are used, and whether the cache is limited or unlimited.
For example, if you use a JVM heap size of 1024 MB (1GB), in order to minimize the impact of garbage collection, about 75% of the heap can be used to store cache items, which means about 768 MB per heap. The other 25% is then available for garbage collection activities.
Query agents are available only with TIBCO BusinessEvents Event Stream Processing add-on software. Query agents use an SQL-like query language. You can query data that is in the cache. You can also query data arriving in events, known as event stream processing or ESP.
A query agent is a non-reasoning agent. It has read-only access to the underlying objects in the cache cluster. A query agent can execute rule functions, but not rules. You can mix query agents and inference agents within one node as desired.
Dashboard agents are available only with TIBCO BusinessEvents Views add-on software. They are similar to a query agent in that their role is to generate information based on queries. The information is made available to the BusinessEvents Views dashboard. See
TIBCO BusinessEvents Views Developer’s Guide for details.