ARIES-1882 - More scalable API
12 files changed
tree: cc8cf99b00548739bbe1a4eaf6c5b3cc9deb6713
  1. org.apache.aries.events.api/
  2. org.apache.aries.events.memory/
  3. org.apache.aries.events.mongo/
  4. .gitignore
  5. LICENSE
  6. pom.xml
  7. Readme.md
Readme.md

Apache Aries Journaled events

Build Status

This subproject provides an API (possibly as spec) and backends for journaled streams of events. These extend the publish/subscribe model with means to start consume from an point in the stored event stream history.

Goals

  • Provide traditional publish / subscribe semantics
  • Allow consuming a stream from any point in the history (given it is not yet evicted)

Non goals (to be discussed)

  • No coverage of extreme scaling like Apache Kafka. So no sharding support in the API (like partitions).

Requirements

  • Messages sent to a topic must be journaled and must be available to all consumers
  • Consumers must be able to start consuming messages from any point in the history that is still available
  • If a consumer specifies a position that is not available anymore then it must start with the oldest message
  • Each consumer must receive messages in the same order they were sent
  • The journal of each topic may evict messages that are older than a certain retention time