An easy to understand and pluggable eventing system.
Delta is a run anywhere binary that allows you to easily dictate the flow of events in your system. To achieve this delta uses configuration files to specify where events come from, what should happen to them during processing, and where they should be sent.
The specific configuration recipe that you will need will be a combination of the available ingredients with some additions and some removals. For some inspiration, take a look in the ./recipes
directory.
To get the latest binaries head over to the releases page or pull
the docker image docker run -it andrewneudegg/delta
.
applicationSettings: {}
pipeline:
# This first pipeline generates and emits http events.
- id: pipelines/fipfo
config:
input:
- id: utilities/generators/v1
config:
interval: 10s
numberEvents: 10000
numberCollections: 1
output:
- id: http/v1
config:
targetAddress: http://localhost:8080
# This second pipeline consumes those events and writes to stdout.
- id: pipelines/fipfo
config:
input:
- id: http/v1
config:
listenAddress: :8080
maxBodySize: 1000000 # 1mb
output:
- id: utilities/performance/v1
config:
sampleWindow: 60s
nodes:
- id: utilities/console/v1
applicationSettings: {}
pipeline:
- id: pipelines/fipfo
config:
input:
# The crypto resource wraps the generator resource.
- id: utilities/crypto/v1
config:
mode: encrypt
password: iddX0DQKGMl7LszqdDKUL6aFVvMGAtwd
nodes:
- id: utilities/generators/v1
config:
interval: 1s
numberEvents: 1
numberCollections: 1
output:
# Decrypt the events before writing the output to console.
- id: utilities/crypto/v1
config:
mode: decrypt
password: iddX0DQKGMl7LszqdDKUL6aFVvMGAtwd
nodes:
- id: utilities/console/v1
applicationSettings: {}
pipeline:
- id: pipelines/fipfo
config:
input:
# Wrap a resource with a performance measuring resource.
- id: utilities/performance/v1
config:
sampleWindow: 10s
nodes:
- id: utilities/generators/v1
config:
interval: 1s
numberEvents: 1000
numberCollections: 1000
output:
- id: utilities/console/v1