High Availability and Clustering with StreamBase

Support in StreamBase for high availability (HA) and clustering is built into the lowest levels of server and container control, as well as in StreamBase Studio features that help you write HA applications. Refer to the following topics when designing and deploying high-availability solutions with StreamBase.

Category Subject Link to topic
Programming Introduction to terminology and concepts. Primer on Clustering and HA Using StreamBase
Tips for developing HA application design patterns using StreamBase components. Designing Applications for High Availability
Example of basic HA design pattern, showing how to configure high availability servers, automatic high availability, application input streams, and the HA Heartbeat adapter. High Availability Sample
Example of an advanced HA design pattern that uses Finite State Machine (FSM) techniques. High Availability Finite State Machine Sample
How to simplify and streamline HA by using automation to implement leadership status control and table replication. Automatic HA
Example of how to share a disk Query Table between two applications, and an example of using external process operators. High Availability Shared Disk Access Sample
Example of how to replicate a StreamBase Query Table on servers in a high availability cluster, and an example of using table delta streams. Query Table Replication Sample
HA-related function in the StreamBase expression language. getLeaderShip()  
Containers and Streams Monitoring the system container's control stream to determine a server's current leadership status, and to react in some way if the status changes.

Using Control Stream Features

Container Connections

Support for dynamic control of containers and connections between containers, and dynamic enqueuing and dequeuing. Using Containers
Improving the latency of communication between containers by using synchronous connections. Synchronous Container Connections
Maintaining a replication of a Query Table based on a log of changes to the table. Using Delta Streams for Query Tables
Using sbadmin Sending an sbadmin command from an application to an application in another container or on another StreamBase Server using an EventFlow global operator. Using the External Process Operator
Adapters Embedded adapter designed to be used in pairs to monitor the state of the other member of the pair. HA Heartbeat Input Adapter
Adapters that can be used to pass a stream of tuples between containers in a cluster of StreamBase applications.

StreamBase to StreamBase Input Adapter

StreamBase to StreamBase Output Adapter

Administration and Deployment Starting sbd servers with precompiled applications. Precompiled Application Archives
Command used to generate precompiled StreamBase application files. sbargen
Multiple URI syntax that allows you to address more than one StreamBase Server at the same time in certain commands and settings

Multiple URI Syntax for HA Scenarios

sbc

sbfeedsim

Configuration files, including the <high-availability> elements and attributes, support for precompiled application files, and the --enqueue and --dequeue options for <runtime> <application> elements. StreamBase Server Configuration File XML Reference