Distributed Cache and Multi-Agent Architecture
Different TIBCO BusinessEvents processing units and agents within the processing units have specialized roles in a Cache OM architecture.
The drawing below illustrates Cache OM architecture.
The drawing illustrates one possible configuration, and assumes destinations that are JMS queues using basic load balancing (Content-aware load balancing is also available. See Load Balancing).
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.
Agent classes and processing units can be configured at deploy time (within the constraints of the project).
For more information about designing a project that uses multiple agents, see the following sections:
Cache Clusters
A cache cluster is a logical entity that provides the following services:
- Cache Management: Partitioning, replication, distribution and failure recovery (see Reliability of Cache Object Management).
- Fault Tolerance (of data): Notifications to inference agents so that the state of each agent’s working memory remains synchronized with the others, so any agent in the cluster can take over in event of a JVM failure.
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 TIBCO BusinessEvents Studio. See Cluster Deployment Descriptor (CDD) in TIBCO BusinessEvents Configuration Guide.
Processing Units
Each processing unit in a cache cluster runs in an instance of a Java virtual machine (JVM). It hosts one or more TIBCO BusinessEvents agents. Each processing unit with storage enabled participates in the distributed cache.
Processing units with inference agents also have an L1 Cache, a local cache that gives inference agents quick access to recently used objects.