Data caching terminology

The global cache is embedded in IBM® App Connect Enterprise. You can also connect to an external WebSphere® eXtreme Scale grid.

The embedded cache can be used by message flows running in any integration server, and you can set properties explicitly for each integration server. The examples in this section show integration servers that are managed by an integration node; however, the global cache can also be used by independent integration servers, which are not managed by an integration node.

The following diagram shows the embedded global cache in an integration node that contains six integration servers. Four integration servers host components for the global cache, but message flows in all six integration servers can use the cache.
Diagram showing how integration server 1 hosts a catalog server and a container server, and integration servers 2, 3, and 4 host container servers only. Integration servers 5 and 6 do not host any cache components, but their message flows can still communicate with the cache.
The following diagram shows how IBM App Connect Enterprise can connect to both an embedded cache and an external WebSphere eXtreme Scale grid. A policy is used to connect to the external grid.
Diagram showing how IBM App Connect Enterprise can connect to an embedded cache and a WebSphere eXtreme Scale grid at the same time. Integration server 1 contains a catalog server and a container server. Integration servers 2, 3, and 4 each host a container server. Double-ended arrows link the message flows in each integration server to the embedded cache and to a remote WebSphere eXtreme Scale grid. Between the message flows and remote grid is a box that represents the policy that is used to connect to the external grid.
The following components are involved in the global cache:
Catalog servers
The catalog server is a component that is embedded in an integration server, and it controls the placement of data and monitors the health of containers. You must have at least one catalog server in your global cache.

To avoid losing cache data when a catalog server is lost, you can specify more than one catalog server. If the cache is shared by two integration servers, each of which hosts a catalog server, if one catalog server fails, the remaining catalog server can still be accessed. Having more than one catalog server can affect startup time until the cache is available.

When you are using multiple catalog servers, you can improve performance by taking the following steps:
  • Provide other integration servers that host container servers only, rather than having only integration servers that host both catalog and container servers.
  • Start and stop integration servers in sequence, rather than using the mqsistart or mqsistop commands to start or stop all integration servers at once. For example, start the integration servers that host catalog servers before you start the integration servers that host only container servers.

Container servers
A container server is a component that is embedded in the integration server that holds a subset of the cache data. Between them, all container servers in the global cache host all of the cache data at least once. If more than one container exists, the default cache policy ensures that all data is replicated at least once. In this way, the global cache can cope with the loss of container servers without losing data.

You can host more than one container server in a multi-instance integration node. If the active instance of the multi-instance integration node fails, the global cache switches to the container server in the standby instance.

Catalog domain name
When you are using a global cache that spans multiple integration nodes, ensure that all WebSphere eXtreme Scale servers that are clustered in one embedded grid use the same domain name. Only servers with the same domain name can participate in the same grid. WebSphere eXtreme Scale clients use the domain name to identify and distinguish between embedded grids.

Servers in different domains cannot collaborate in the same grid.

Grids
WebSphere eXtreme Scale provides a scalable, in-memory data grid. The data grid dynamically caches, partitions, replicates, and manages data across multiple servers. The catalog servers and container servers for the IBM App Connect Enterprise global cache collaborate to act as a WebSphere eXtreme Scale grid. For more information about grids, see WebSphere Extreme Scale product documentation online.

Maps
Data is stored in maps. A map is a data structure that maps keys to values. One map is the default map, but the global cache can have several maps.

The cache uses WebSphere eXtreme Scale dynamic maps. Any map name is allowed, apart from names that begin with SYSTEM.BROKER, which is reserved for use by the integration node. The default map is named SYSTEM.BROKER.DEFAULTMAP; you can use or clear this map.

ObjectGrid® file
An ObjectGrid XML file is used to configure the WebSphere eXtreme Scale client. You can use this file to override WebSphere eXtreme Scale properties. For more information about configuring clients, see WebSphere Extreme Scale product documentation online.

You can configure WebSphere eXtreme Scale options by using the WXSServer policy. For more information, see Connecting to a WebSphere eXtreme Scale grid.

You can use resource statistics and activity trace to monitor the status of the global cache and external grid, and to diagnose problems. You can also administer the embedded global cache by using the mqsicacheadmin command.