seanohalpin / rabbitmq-streams forked from squaremo/rabbitmq-streams
- Source
- Commits
- Network (3)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
tree de8b7186a074977325cb0fbc3e5b09683e5281eb
parent 0ef76f559daf5a804abb0de525f6e523e6c262bd parent 420e40fbcb25f4996ea0d34da359a003cab9bd73
| name | age | message | |
|---|---|---|---|
| |
.hgignore | Tue Aug 25 07:51:10 -0700 2009 | |
| |
Makefile | ||
| |
Makefile.install | ||
| |
Makefile.test | ||
| |
README.PACKAGING | ||
| |
README.md | ||
| |
bin/ | ||
| |
doc/ | ||
| |
etc/ | Mon Sep 07 10:11:24 -0700 2009 | |
| |
examples/ | Fri Jul 31 08:28:47 -0700 2009 | |
| |
harness/ | ||
| |
orchestrator/ | ||
| |
packaging/ | ||
| |
plugins/ | ||
| |
sbin/ | Tue Aug 25 08:10:21 -0700 2009 | |
| |
share/ | Thu Jul 23 06:02:07 -0700 2009 | |
| |
sites/ | Tue Sep 08 07:31:35 -0700 2009 | |
| |
start-feedshub-rabbit.sh | Sat May 09 06:54:00 -0700 2009 | |
| |
test/ |
What is this?
"RabbitMQ Streams" is our name for the open source project developed with the BBC. It is a data streams management system. Have a look at Whence Streams for more of an explanation and some background, and the roadmap for where it's at and where it's going.
The basic logical building blocks are Sources and Destinations of data and Pipelines. The latter are composed of PipelineComponents which can route (e.g. based on regexp matches on Atom feed entries), merge and transform the data in arbitrary ways.
Data arrive at sources, and leave from destinations, via Gateways, which talk various protocols to the outside world.
Gateways as well as pipeline components (jointly referred to as Plugins) can currently be written in Java and Python, and require little boilerplate (see e.g. regexp_replace.py Support for other languages can be added straightforwardly by creating a Harness; plugins are essentially just programs following a simple protocol, with the harness taking care of much of the detail.
There's an API (over HTTP) for listing pipelines and starting and stopping them. It'll be expanded to include defining pipelines, as well as declaring sources and destinations, and subscribing pipelines to them (and them to pipelines).
See the wiki for information about using and hacking on Streams.

