Show TOC

High AvailabilityLocate this document in the navigation structure

SAP Event Stream Processor supports high availability features that promote failure recovery and data redundancy.

Multinode Clustering

A multinode cluster can protect against node failure. When a server in a node fails, the projects running on the failed node restart on another node if their affinities are configured.

To add multiple nodes, repeat the procedure for adding a host.

Cold Failover

In cold failover, each smart data streaming node detects when a project stops running, and restarts the project on the same node or a different node, depending on the configuration.

Set this feature in project configuration.

Active-Active Mode

When you deploy a project in active-active (HA) mode, two instances of the same project run in the cluster, preferably on separate machines. One version of the project is designated the primary instance, and the other is designated the secondary instance. All connections from outside the cluster (adapters, clients, Studio) are directed to the primary project server. If the primary instance fails, a hot failover occurs and all connections are automatically directed to the secondary instance.

Data between primary and secondary instances is continuously synchronized. The primary instance receives each message first. To maintain redundancy, the secondary instance must acknowledge receipt of the message before the primary instance begins processing.

Set this feature in project configuration.

Persistent Subscribe Pattern (PSP)

Persistent subscribe pattern is similar to guaranteed delivery. Use PSP if you do not want the guaranteed delivery store to be a log store for performance reasons. Using a memory store allows recovery when the client restarts, but not when the project restarts.

Set this feature via the shape context menu in Studio.

Zero Data Loss

Zero data loss features–guaranteed delivery, consistent recovery, and auto checkpoint–protect against data loss in the event of a server crash or loss of connection.

Guaranteed Delivery

Guaranteed delivery (GD) uses log stores to ensure that a GD subscriber registered with a GD stream or window receives all the data processed by that stream or window even if the client is not connected when the data is produced. GD is supported on streams and windows and each GD stream or window requires a log store.

Set this feature through Windows properties in Studio; adapter cnxml files; client applications (via SDKs); and binding parameters in CCR files.

Consistent Recovery
Recovery consistency depends on guidelines for log stores:
  • When consistent recovery is enabled, the server uses coordinated checkpoints to save data in log stores.
  • When any log store fails to complete a checkpoint, all the log stores for that project roll back to their state as of the previous successful checkpoint. This rule ensures that even if a server or connection fails, all log stores in a project are consistent with one another. However, any input data that has not been checkpointed is not recovered upon restart.

Set this feature in project configuration.

Auto Checkpoint

Auto checkpoint lets you control how often log store checkpoints occur across all input streams and windows in the project. More frequent checkpoints mean less data is lost if the server crashes. At the maximum checkpoint frequency of every input transaction (value of 1), all input data is protected except the data from the last transaction, which might not be checkpointed before a crash. Here, input transaction refers to one record, one transaction, or one envelope published to the server and currently in flight. This applies to a single publisher; if there are multiple publishers, then the last transaction for every publisher that is in flight may be lost. When you set checkpoint frequency, you make a trade-off: with frequent checkpoints you can reduce the amount of data at risk, but performance and latency may suffer as a result. The alternative is to increase performance but risk a larger amount of data loss by setting infrequent checkpoints.

Set this feature in project configuration.