Changes from 0.11 to 0.12
Binding and Mapping become Flows
The main thing that changed from 0.11 to 0.12 is that for configuring Tremor, the binding and mapping YAML have been removed and the Tremor deployment language has been added. Users are now able to configure Tremor in one file and don't have to use yaml, trickle and tremor-script files.
In the previous deployment model, users had to specify their deployment configurations inside a YAML file. This file contained the used onramp and offramp configurations. It also contained one or more
binding which described what a Flow is describing with its connect statements now: The connections between onramps/offramps (which become connectors) and pipelines that form the event flow of the application. It also contained one or more
mappings, which created running instances of the bindings and provided some mapping fields that could be used for defining mutliple instances of the same offramp or pipeline. The Flow that we created to replace what a
binding was, and the Deployment of flows that replace what a
mapping was, are far more powerful that their former counterparts, due to the support for Arguments and the module system.
Onramps and Offramps become Connectors
The concept of onramps and offramps has been generalized into Connectors and during this process, various improvements to the runtime have been added. A connector is an entity that can be both a source (onramp) and a sink (offramp) of events. It maintains a connection to the external system it provides connectivity to (e.g. a TCP connection to an upstream server), is pausable and resumable, as are Flows. As well as pipeline operators, connectors have ports through which they can connected to pipelines.
Pause and Resume
Via the new API, Connectors can be paused and resumed.
Connectors try to maintain their connectivity and are able to reconnect if the connection gets lost.
Upon regular process termination all events are flushed out of any pipelines or internal queues, so that no event gets lost.