Advanced Persistence Cluster Configuration
To configure Clusters using a GUI grid, ensure that you are in the Peer-to-Peer UI mode, navigate to the Clusters page through the left menu, and turn on edit mode. For a simplified Cluster Configuration workflow, switch to the Destinations UI mode. See Persistence Cluster Configuration for more information.
For background information, see Persistence Services and Clusters in TIBCO FTL® - Enterprise Edition Administration.
For consequences of modifying this configuration, see Persistence Modifications: Store and Durable and Quorum Behaviors in TIBCO FTL® - Enterprise Edition Administration.
The Cluster Grid has the following Levels: Cluster, Service Set, and Service.
Cluster Level
Service Set Level
Each persistence cluster can contain either one or two sets of services. To configure Disaster Recovery, configure two service sets; otherwise, only configure one service set.
| Column | Description |
|---|---|
| Set Name | Name of the service set.
You may use the default set names or supply other names. Set names must be unique within the cluster. All names are limited to maximum length of 256 characters. |
| Cluster Set Protocol | Persistence services with a cluster's service set communicate with one another using this transport.
Select the transport protocol from the drop-down menu in this column. As needed, set the host, subnet, and port parameters in service-level columns. Set other parameters in the service details panel. Notice that all the services in a service set use the same cluster protocol, though individual services can supply different transport parameters. For connection-oriented protocols, such as static TCP, the realm service automatically arranges the listening ends and connecting ends. |
| Client Protocol | Client applications communicate with persistence services in the cluster using the client transport.
Select the client transport protocol from the drop-down menu in this column. As needed, set the host, subnet, and port parameters in service-level columns. Set other parameters in the service details panel. Notice that all the services in a cluster use the same client protocol, though individual services can supply different transport parameters. For connection-oriented protocols, such as static TCP, the persistence service always is the listening end, and clients the connecting end. |
Service Level
If the cluster enables the disaster recovery feature, then each set must contain equivalent services. For background information, see Disaster Recovery in TIBCO FTL® - Enterprise Edition Administration.
| Column | JSON Attribute | Description |
|---|---|---|
| Service Name | name
|
Required.
Name of the persistence service. Persistence service names must be globally unique. All names are limited to a maximum length of 256 characters. |
| Weight | weight
|
Optional.
This value must be an integer in the range [1,10]. Larger values indicate greater preference that the service becomes the leader. When absent, the default weight is 10. |
| Cluster Host/Subnet
Cluster Port |
Persistence services inherit the cluster transport protocol from the service set.
|
|
| Client Host/Subnet
Client Port |
Persistence services inherit the client transport protocol from the service set.
|
|
| DR Host
DR Port |
Persistence services inherit the disaster recovery transport protocol from the cluster.
Set the host name and port for establishing a connection (both are required). |
Cluster Details Panel
You can adjust the persistence heartbeat and timeout parameters, which detect persistence service availability. For best results, use the default values, except to resolve specific issues or as directed by TIBCO personnel.
| GUI Parameter | JSON Attribute | Description |
|---|---|---|
|
Persistence Heartbeat (Server to the Client) |
client_pserver_heartbeat
|
The leader persistence service sends heartbeats to its clients at this interval, in seconds. The default is 2 seconds. |
|
Timeout Interval (Sever to Client) |
client_timeout_pserver
|
When the leader’s heartbeat is silent for this interval, in seconds, its clients seek to connect to a new leader from among the other services in the cluster. The default is 5 seconds. When a client's heartbeat is silent for this interval, the persistence service clears all state associated with the client. |
|
Persistence Heartbeat (Server to Server) |
pserver_pserver_heartbeat |
Persistence services in the cluster exchange heartbeats at this interval, in seconds. The default is 0.5 seconds. |
|
Timeout Interval (Server to Server) |
pserver_timeout_pserver
|
When the heartbeat of any service in the cluster is silent for this interval, in seconds, the remaining services attempt to form a new quorum. The default is 3 seconds. |
|
Persistence Heartbeat (Cluster to Cluster) |
inter_cluster_heartbeat
|
The leader persistence services of different persistence clusters in a forwarding zone exchange heartbeats at this interval, in seconds. The default is 2 seconds. |
|
Timeout Interval (Cluster to Cluster) |
inter_cluster_timeout
|
When the heartbeat from a leader persistence service in a second cluster is silent for this interval, in seconds, the leader of the first cluster will attempt to reconnect. The default is 5 seconds. |
Disk Settings
For discussion on these features, see Persistence Concepts and Disk-Based Persistence in TIBCO FTL® - Enterprise Edition Administration.
| GUI Parameter | JSON Attribute | Description |
|---|---|---|
| Message Swapping | disk_swap
|
When enabled, message data is swapped to disk. This allows the persistence service to store more message data than available memory. This setting affects both persistent (replicated) and non-persistent (non-replicated) messages. Note that, if the indexes on disk feature is enabled, persistent messages are always swapped to disk, regardless of this setting. Changing this setting requires a restart of all persistence services in the cluster. |
| Disk Persistence Mode | disk_persistence
|
Select the disk persistence mode. Only persistent (replicated) messages are persisted on disk. None
Disable disk persistence.
sync
The send-message call returns once the message has been written persistently to a majority of disks.
async
The send-message call returns once the OS has buffered the write of the message. A tail end of data can be lost if a majority of server hosts crash simultaneously.
Changing this setting requires a restart of all persistence services in the cluster.
|
| Automatic compaction | disk_compact
|
Set to enable or disable automatic disk compaction. This setting applies to both non-persistent messages (if swapping is enabled) and persistent messages. Note that, if the indexes on disk feature is enabled, automatic compaction is always enabled for persistent messages, regardless of this setting. Changing the setting does not require a restart. |
|
Compact When In-Use Ratio Below |
disk_compact_settings.min_disk_inuse_ratio
|
Set a value between 0 and 1, inclusive. The persistence service attempts to keep the ratio of disk inuse size to disk allocated size at or above the specified value. If the ratio of in-use to allocated size falls below this value, the persistence service can start a compaction. Automatic compaction does not occur if the disk inuse size is extremely small. Automatic compaction must be enabled for this value to take effect. Note that, if the indexes on disk feature is enabled, this threshold is ignored for persistent messages. Automatic compaction is always enabled for persistent messages. Changing the setting does not require a restart. |
| Indexes on Disk | disk_index
|
When enabled, message data, indexes, and metadata for persistent messages are stored on disk. No memory is consumed to store persistent messages. Also, when the persistence service restarts, it can recover from disk immediately (without having to read message metadata from disk). Changing this setting requires a restart of all persistence services in the cluster. |
Cluster Limits and Force Quorum Settings
Externally Reachable Addresses
When using persistence with zones of clusters that use an auto inter-cluster transport to address the cluster (or to address a load balancer's interface), use this field to identify one or more ports for the core servers of this cluster (or the port for the load balancer).
| GUI Parameter | Description |
|---|---|
| Host | Enter either an IP address or a resolvable hostname. |
| Port | Enter the port number to use to access this host. |
Persistence Service Details Panel
The Persistence Service details panel presents the details of a persistence service definition. In edit mode, you can modify the definition.
From the left menu, select Clusters, select the three dots above a cluster's Server Name, select View Details.
The title of the panel indicates both the cluster and service names: Cluster / Service.
For background information, see Persistence Services and Clusters in TIBCO FTL® - Enterprise Edition Administration.
For consequences of modifying this configuration, see Persistence Modifications: Store and Durable in TIBCO FTL® - Enterprise Edition Administration.
Service Parameters
| GUI Parameter | Description |
|---|---|
| Server Weight | Optional.
This value must be an integer in the range [1,10]. Larger values indicate greater preference that the service becomes the leader. When absent, the default weight is 10. |
Transports
Each persistence service definition must configure a cluster transport and a client transport.
You can also configure an alternate client transport, and a disaster recovery transport, each of which enables optional functionality.
Supply the transport parameters as needed. The available parameters depend on the transport protocol. In general, only a subset of parameters for that transport protocol are available, as the FTL server automatically supplies values for the remainder.For transport parameter details, see Transport Concepts, and Transport Details Panel in TIBCO FTL® - Enterprise Edition Administration.
For background information, see Persistence Service Transports in TIBCO FTL® - Enterprise Edition Administration.
| GUI Parameters Grouping | Description |
|---|---|
| Client Transport | Client applications communicate with persistence services in the cluster using this transport.
Persistence services inherit the client transport protocol from the service set. Select the transport Protocol in the Client Protocol column in the clusters grid. Set other parameters in this section:
See also Client Transport and Non-Blocking Send in TIBCO FTL® - Enterprise Edition Administration. |
| Cluster Transport | Persistence services with the cluster communicate with one another using this transport.
Persistence services inherit the cluster transport protocol from the service set. Select the transport protocol in the Cluster Protocol column of the clusters grid. Set other parameters in this section. |
| Alternate Client Transport | Optional.
When defined, clients on the associated hosts communicate with this persistence service using the alternate transport. All other clients use the regular client transport defined for the cluster. To define an alternate client transport for clients on specific host computers, supply a transport protocol and other transport parameters. Add hosts to the list of Associated Client Host Names. For background information, see Alternate Client Transport in TIBCO FTL® - Enterprise Edition Administration. See also Client Transport and Non-Blocking Send in TIBCO FTL® - Enterprise Edition Administration. |
| Disaster Recovery Transport | Optional.
When two persistence services need to communicate across the WAN for disaster recovery replication, they establish a transport using this definition. Persistence services inherit the disaster recovery transport protocol from the cluster. Select the transport protocol in the DR Protocol column of the clusters grid. Set other parameters in this section. For background information, see Disaster Recovery in TIBCO FTL® - Enterprise Edition Administration. |
| Zone Transport | Optional.
When two persistence services need to communicate across the WAN to forward wide-area stores, they establish a transport bus using parameter values in this definition. You may modify the default parameter values in this section. |