Configuring Apache Ignite as a Cache Provider

Apache Ignite is a good low-latency and high-performance caching option for your projects in TIBCO BusinessEvents. You can use Apache Ignite as a cache provider for your projects that use clusters other than the Legacy ActiveSpaces cluster.

To display advanced properties of Apache Ignite cache on the TIBCO BusinessEvents Studio UI, see Enabling Advanced Settings For Apache Ignite.

You can also use GridGain Enterprise edition, a platform built on Apache Ignite, as a cache provider. GridGain Enterprise edition provides improved data accessibility across data stores and applications.

Before you begin
    Procedure
  1. In TIBCO BusinessEvents Studio, open the project CDD file and on the Cluster tab, select Object Management.
  2. In the Configuration window, specify the cache as follows:

    • From the Object Management Mode list, select Cache.
    • From the Cache Provider list, select Apache Ignite.

  3. Define the connection settings as follows:

    Note: If you have configured Apache Ignite as the cluster provider, you do not need to define the common connection settings. The application uses values for these settings from the cluster provider configuration.
    Apache Ignite Connection Properties
    Field Description

    Cache Agent Quorum

    Specifies a minimum number (quorum) of storage-enabled nodes that must be active in the cluster when the system starts up before the other agents in the cluster become fully active.

    Default value: 1

    Note: The inference agent does not start processing events if the number of cache members in the cluster does not satisfy the quorum count.
    Number of Backup Copies

    The number of backup copies specifies the number of members of the distributed cache service that hold the backup data for each unit of storage in the cache.

    There is no guarantee of no data loss if the Number of Backup Copies is set to 0.

    Default value: 1

    For a backup count of 1 to be effective, you need at least two cache agents (or storage enable nodes).

    Discovery URL

    Specify a set of IP addresses and ports for node discovery. For fault tolerant discoveries, specify multiple IP addresses with port ranges as comma separated values.

    Example: IP1:47500..47510[,IP2:PORTS]

    Listen Port

    Port to listen on for discovery of nodes in a cluster.

    Communication Port Specify the port or range of ports used by the Ignite Communication SPI.
    Socket Write Timeout Specify the socket write timeout for the TCP connection.
    Connect Timeout Specify the connection timeout used for establishing connection with remote nodes.
    Join Timeout Specify the join timeout. If a non-shared IP finder is used and a node fails to connect to any address from the IP finder, the node keeps trying to join within this timeout. If all addresses are unresponsive after the timeout, an exception occurs and node start up fails.
    Network Timeout Specify the maximum network timeout for network operations
    Failure Detection Timeout Specify the failure detection timeout. The failure detection timeout is used to determine how long the communication or discovery SPIs should wait before considering that a remote connection has failed.
    Enable Hostaware

    Select the checkbox to enable the host-aware replication.

    By default, the checkbox is selected.

    When host-aware replication is enabled, if the cache nodes are deployed on multiple machines to satisfy replication by the host, then replication does not happen on the same node (or happens only according to the number of hosts available).

    If cache nodes within the cluster are on the same machine, then host-aware replication needs to be disabled to honor Number of Backup Copies. When host based replication is disabled then data is replicated on neighbor cache nodes on the same machine.

    Hostaware Hostname

    Hostnames that are used in identifying members (and therefore naming Shared nothing file and folders), are generated from underlying OS. If you would like to assign hostnames manually instead, for reasons such as hostname/machine changes, testing so on, then provide hostnames in the CDD by using this field.

    Note: You can configure this property at the PU level as well. Configure the property be.ignite.hostaware-hostname with appropriate values to simulate multiple cache agents running on a single machine.
  4. (Optional) To replicate cache data between clusters by using GridGain, perform the following configurations:

    GridGain Configuration Properties
    Field Description
    Data Center ID Set a numeric value as an identifier for this data center node.
    Is Sender Node

    Select to make this node a cache data sender.

    When this checkbox is selected, the following sender-specific connection settings are enabled:

    Field Description
    Sender Group Name

    Set to a group name to associate this node to a group of sender nodes. This Sender Group Name can be used on multiple nodes if you want a group of nodes to act as sender nodes

    For example: SenderGroup1.

    Receiver Data Center ID Set to an identifier of a receiver data center node. This must match the Data Center ID provided when configuring the receiver node.
    Local Outbound Address

    Set to the IP address of the sender node machine.

    For example: 127.0.0.1

    Receiver Address

    Set to the IP address and port number of a receiver node.

    For example: 127.0.0.1:50001

    To add multiple receiver nodes, provide IP addresses of each receiver node with their respective port numbers in a comma-separated list format.

    Is Receiver Node

    Select to make a node as a cache data receiver.

    When this checkbox is selected, the following receiver-specific connection settings are enabled:

    Field Description
    Local Inbound Address

    Set to the IP address of the receiver node machine with a valid available port number.

    For example: 127.0.0.1:50001

    License file location Browse to GridGain license file (gridgain-license.xml) in GridGain installation folder.
    Note: To set active-active replication mode, define a node as both sender and receiver.
  5. (Optional) To enable secure Apache Ignite connection among all nodes, use the Security Enabled checkbox. This option is available when you use FTL as a cluster provider. For Ignite as a cluster provider, a secure connection is established at the cluster level. Select the Security Enabled checkbox and fill values for the following fields:

    Connection Security Properties
    Field Description
    Trusted Folder Path While using secure connection, provide the path to the base folder location containing the trust certificate files.
    Identity Path to the keystore identity file while using the two-way SSL.
    Trust Store Password Specify a password for the trust store.
  6. (Optional) When you use Shared Nothing persistence, you can enable encryption for the stored data by using the Enable Storage encryption checkbox.
  7. (Optional) If you select the Enable Storage encryption checkbox, provide the value to the Identity File Path field. The identity file provides a keystore with type and password.
What to do next