A keen Observer of changes that can also relay change events reliably to interested parties. Provides useful infrastructure for building Eventually Consistent data sources and systems.
Release | Date | Description |
---|---|---|
Alpha release | December 2013 | Proof of concept code in "sandbox" |
aesop aims to leverage capabilities from a at least a couple of good projects that already exist in this space viz.
The "sandbox" module currently contains proof of concept code to do the following:
- Relay : An implementation of the Databus Relay that uses a Producer to create change events of the sample 'Person' type.
- Runtime dependencies : None
- Relay Client : An implementation of a Consumer that connects to the sample Relay and consumes change events of the sample 'Person' type.
- Runtime dependencies : A running 'Relay'
- Bootstrap Producer : A Bootstrap i.e. special Consumer that is used for creating snapshots for change events of the sample 'Person' type. Stores these snapshots in a MySQL DB.
- Runtime dependencies : A running 'Relay'
- Bootstrap Server : A Bootstrap server that provides a Http interface for slow Consumers to run catch-up queries on. Returns snapshots stored by the 'Bootstrap Producer' for change events of the sample 'Person' type.
- Runtime dependencies : None
- Bootstrap Client : A sample bootstrap consumer that consumes snapshots in catch-up mode for change events of the sample 'Person' type.
- Runtime dependencies : A running 'Bootstrap Server'
The "sandbox" module also has some samples for consuming WAL edits from HBase writes and making these available for consumption via a Databus Relay:
- WALEditRelayMain : An implementation of the Databus Relay that uses a WALEditPersonEventProducer that listens to HBase WAL edits and creates change events of the sample 'Person' type.
- Runtime dependencies : None
- SchemaSetupMain and [PersonDataInjesterMain] (https://github.com/regunathb/aesop/blob/master/sandbox/src/org/aesop/relay/hbase/PersonDataInjesterMain.java) : Classes to create a sample HBase table schema and push data to it. Useful in testing the WAL edits Relay.
- Runtime dependencies : None