项目作者: daggerok

项目描述 :
Reactor RSocket EventStore
高级语言: Kotlin
项目地址: git://github.com/daggerok/drestore.git
创建时间: 2020-03-28T16:52:09Z
项目社区:https://github.com/daggerok/drestore

开源协议:

下载


DREStore CI

daggerok Reactor RSocket EventStore

Please ignore that creepy shit for now. Thanks!

logo

Status: IN PROGRESS / INCUBATING

TODO

  1. 1. Event Scheduler
  2. ------------------
  3. -> incomming event
  4. -> commands/${cmdSeq}-${eventMetadata} file with event metadata body created
  5. # valid command sent / handling and event
  6. 2. Event Processor
  7. ------------------
  8. -> event data from commands/${cmdSeq}-${eventMetadata} file read and event appended to event-log
  9. -> events/${evtSeq}-${eventType}-${eventAggId} file with event body created
  10. -> commands/${cmdSeq}-${eventMetadata} file removed
  11. # event persisted
  12. 3. Event Handler
  13. ----------------
  14. -> events/${evtSeq}-${eventType}-${eventAggId} file read with event metadata
  15. -> emit event if target subscribers found or create notify/... file
  16. -> events/${evtSeq}-${eventType}-${eventAggId} file removed
  17. # subscribers notified

Connectors

  • rsocket / message-broker flux message emitted / consumed
  • websocket message sent / received
  • rest api called / sse event received
  • file created, written / read, removed

Functionality

  • Concepts
  • Simple reactive data processing
  • Plugable architecture
  • File system as default storage
  • Append Only
  • Data consumption
  • Automatic snapshotting
  • Split event log per immutable data blocks
  • Metadata and binary search for time travel
  • Interfaces

Resources