The StreamBase Runtime can be said to exist on two levels:
-
It is the mechanism that runs a StreamBase Application on your development machine, or on an individual server host.
-
It is an inter-machine deployment fabric into which you install and manage the nodes of a distributed application. In this sense, the StreamBase Runtime fabric can span networks and geographic locations to unify a highly distributed application.
The StreamBase Runtime fabric does not have an independent existence, but comes into being when you install the first node.
Just as grouping nodes into clusters allows you to administer the nodes in that cluster as one, the Runtime fabric provides a central administration services for a distributed application.
The following diagram shows the relationship between physical or virtual machines that host nodes, fragments, clusters, engines, and a StreamBase Application.
A StreamBase Application running in the StreamBase Runtime fabric can be as simple as a single EventFlow fragment running on a single JVM engine, running on a single machine. This is a single-node cluster, and is how EventFlow fragments are run and debugged in StreamBase Studio.
Once your EventFlow fragment is developed and ready, you can deploy it from the command line with the epadmin command. This allows you to specify multiple combinations of fragments and engines, including duplicate fragments to provide a high availability deployment. Engines can contain multiple StreamBase fragments and one LiveView fragment.
Your application can eventually be built up to run on many nodes hosted on several machines, including machines geographically separated.