Toolkit com.teracloud.streams.crossdcfailover 2.0.0

General Information

The Cross Data Center Failover toolkit provides application-level failover across two data centers enabling Disaster Recovery (DR) and Business Continuity (BC). Additionally, the toolkit offers functionality to periodically replicate an application's in-memory state between data centers in case of failover.

A Streams application leveraging the toolkit can be deployed to two separate data centers and configured to run in active/active or active/passive modes.

Details

The toolkit provides simple hooks via SPL composite operators and Stream connections for any application to achieve the following:

  1. Get notified about the UP or DOWN status of the application running in the remote DC.
  2. Optionally and periodically replicate the in-memory state of any custom-written operator in an application graph to the remote DC.
  3. When the application running in the remote DC becomes inactive, take over its operation by owning its in-memory state that was replicated regularly at the local DC.

The three activities mentioned above happen bidirectionally in the local DC and the remote DC under normal working conditions.

The toolkit addresses the following DR/BC needs:

  1. It allows two copies of a given Streams application to run in two data centers as
    • active(DC1)/active(DC2)
    • active(DC1)/passive(DC2)
    • passive(DC1)/active(DC2)
  2. When an active DC fails, it makes the other DC switchover to continue the application functions using the surviving second copy.
  3. Optionally, it also does the periodic replication of the Streams application's in-memory operator state across two data centers. It will do bidirectional replication in active/active mode and unidirectional replication in any active/passive mode. When an active DC goes down, it will make the other DC's application restore the data replicated from the failed remote DC into its own in-memory state. This optional crossdc data replication and restoration feature expects two identical copies of a given application (i.e. exactly the same application topology to run in both data centers).

This toolkit uses the HTTPBlobInjection operator from the inetserver toolkit.

Release notes
Application and environment requirements
The following requirements should be reveiwed before developing a Streams application with the toolkit.
Failover configuration
Every application integrating with the toolkit can configure how it achieves failover.
Learning through samples
There are three samples shipped with this toolkit that demonstrate how to achieve cross DC failover either in active/active or active/passive modes.
Failover in a passive mode data center
Additional tips
Version
2.0.0
Required Product Version
7.2.0.0
Required Toolkits and Versions

Indexes

Namespaces
Operators
Functions
Types

Namespaces

com.teracloud.streams.crossdc.failover
Operators
Functions
com.teracloud.streams.crossdc.failover.types
Functions
Types