Guaranteed Processing Implementation

Guaranteed processing has different requirements for implementation based on the different components of an application. Sybase CEP Engine, adapters, and the source and destination of messages all affect the requirements.

The following diagram organizes the components of an application into three groups, each with different requirements for guaranteed processing:


Adapters PNG

Sybase CEP Engine

The components labeled with A in the diagram - the streams, projects, and query modules - are part of Sybase CEP Engine and can implement exactly once processing with the help of the Sybase CEP Guaranteed Delivery feature. Guaranteed Delivery is a communications protocol that provides acknowledgements from the recipient to the sender assuring that messages were delivered.

In order to recover after a failure, an application component must be able to re-create its state before the failure and, possibly, retrieve or reproduce some messages. To be able to recover from a Sybase CEP Server failure quickly, consider implementing High Availability.

Note: Guaranteed Delivery can have a dramatic negative impact on performance. Also note that no system is absolutely guaranteed: some types of catastrophic failure can make it impossible (or at least prohibitively expensive) to recover automatically.

See Sybase CEP Engine Settings for more information about how to configure these components for Guaranteed Delivery.

Adapters

The components labeled with B in the diagram are the input and output adapters. Depending on your application requirements, you may be able to use adapters provided by Sybase CEP or one of Sybase CEP's partners which support guaranteed processing. Enabling guaranteed processing in an adapter implies both the use of the Guaranteed Delivery protocol and the use of algorithms that support guaranteed processing. For example, an adapter might use transactions when you configure it for guaranteed processing, but not use them otherwise. How you enable or configure guaranteed processing is specific to the adapter. If you are using an adapter provided by Sybase CEP, see Sybase CEP Adapters for more information. If you are writing your own adapter, see Writing an Adapter for Guaranteed Processing for additional information about implementing Guaranteed Delivery.

Source and Destination

The components labeled with C in the diagram are the data source and destination. Because these are external to Sybase CEP Engine, it's your responsibility to configure them as needed to enable guaranteed processing. You'll need to configure your data source to provide exactly once processing, which is specific to your data source and also dependent on your choice of input adapter. You'll also need to configure the destination to provide exactly once processing. Again, details are specific to your choice of adapter and destination software. See the documentation of the particular software for information about such configuration.