IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

Configuring the global cache for multiple brokers

Configure one or more brokers to share data in the global cache by using an XML policy file. Use a policy file to enhance the availability of the cache by configuring a broker to host two catalog servers. Also use a policy file to host container servers in a multi-instance broker for high availability.

Before you start:

For more information about the default global cache topology, see Data caching overview.

Specify a policy file for your brokers to use by setting the cache policy to the name and file path of the policy file. Sample policy files are provided in the installation directory install_dir/sample/globalcache, covering the following configurations:
  • A single broker that hosts two catalog servers; if one catalog server fails, the global cache switches to the other one.
  • Two brokers that share a catalog server that is hosted by the first broker.
  • Two brokers that each host a catalog server; if one catalog server fails, the global cache switches to the catalog server in the other broker.
  • Three brokers in a high availability scenario. Two brokers each host a catalog server, and a multi-instance broker hosts two container servers. If the active instance of the multi-instance broker fails, the global cache switches to the container servers in the standby instance.

    For specific instructions to configure the global cache for multi-instance brokers, see Configuring the global cache for multi-instance brokers.

Two of the sample policies configure the cache to contain two catalog servers. This configuration means that if one of the catalog servers is stopped, the other catalog server is used, and no cache data is lost. However, having more than one catalog server can affect startup time after the broker is started, until the cache is available. If you have more than one catalog server, you must start at least two of them for the cache to be available. When you configure a cache across multiple brokers with multiple catalog servers, if you need to start one broker before the others then you can configure this broker to host two catalog servers.

When you set the broker-level property to a policy file, the policy file is validated against an XML schema. A copy of the XML schema file is provided at install_dir/cachesupport/schema.

Do not edit the sample policy files in their original location; copy them to your own file system first. The original sample policy files might be replaced when you apply maintenance to IBM Integration Bus.

You cannot use the policy file to fix specific cache roles to specific integration servers. Instead, you must use the none policy; see Embedded global cache.

The following steps describe how to configure the global cache for multiple brokers.

  1. Copy one of the sample policy files from install_dir/sample/globalcache to another location on your file system.

    You can place a copy of the same policy file on each computer where a broker is running, or you can provide a single copy of the policy file in a shared file system for all brokers to access.

  2. Modify the policy file for your system, specifying the appropriate broker names and listener hosts, the port range that the broker is to use, and how many catalog servers the broker hosts. Optionally, you can also specify a domain name for all catalog servers in the embedded cache. If you do not set a domain name, the broker creates one.
    Ensure that the policy meets the following criteria:
    • You can define 0, 1, or 2 catalog servers for an individual broker, but at least one catalog server must be defined in the policy.
    • If two brokers share a host name, you must set a distinct port range for each broker.
    • Ensure that the port range for each broker includes at least 20 ports.
    • The broker names and listener hosts specified in the policy must match the values defined for the brokers.
    • You can define only one domain name in the policy file.
    • If specified, the domain name must precede the broker elements in the policy file.
    • The policy file must be encoded in UTF-8.
    • The policy file must contain valid XML. The policy file is validated against an XML schema when you set the broker-level property. You can also validate the policy file against the copy of the schema (policy.xsd) that is provided in install_dir/cachesupport/schema.
    • If you are configuring a multi-instance broker, an optional listenerHost element is provided as a child of the broker element so that you can specify more than one listener host. In this situation, the listenerHost attribute of the broker element is also optional. However, you must specify either the listenerHost element or the listenerHost attribute.
    • If you are configuring a multi-instance broker, you cannot specify the listenerHost element more than once for a broker that is configured to host one or more catalog servers.
    When you use an XML policy file, the broker-level portRange property is ignored. The port range specified in the XML file overrides the property specified for the broker.
  3. Save the policy file.
  4. Set the cache policy to the fully qualified name of the policy file.

    The path that you specify must be absolute, not relative. If you use a shared drive on Windows, you must use the \\hostname\directory path syntax to the shared drive, instead of a mapped drive letter. The IBM Integration Bus user ID that is used to access the \\hostname\directory path must have read access to the file system and must use the same password.

    You can set the cache policy by using commands (see Configuring the embedded global cache by using commands) or IBM Integration Explorer (see Configuring the embedded global cache by using IBM Integration Explorer).

  5. Restart each broker. If your cache is configured for more than one catalog server, then ensure that at least two catalog servers are started.
When each broker restarts, it uses the values in the policy file to determine its cache properties. Each broker contains up to 4 container servers. To find out where container servers are placed, use the mqsicacheadmin command to run the showPlacement command, as shown in the following example:
mqsicacheadmin brokerName -c showPlacement
You can also use the mqsicacheadmin command to show cache components in a multi-broker cache. For example, the listHosts command shows the host names, number of hosts, and number of catalogs in the cache:
mqsicacheadmin brokerName -c listHosts

bn23787_.htm | Last updated Friday, 21 July 2017