Global-scale event sourcing and event collaboration with causal consistency
Scala Java CSS HTML Protocol Buffer Python Other
Latest commit ee636fe Feb 11, 2017 @volkerstampa volkerstampa committed on GitHub Merge pull request #381 from RBMHTechnology/wip-380-doc-tls-setup
Add documentation for TLS setup
Permalink
Failed to load latest commit information.
.travis Cross-compile with Scala 2.11 and 2.12 on Travis CI Nov 12, 2016
eventuate-adapter-spark/src Format all sources Nov 10, 2016
eventuate-adapter-stream/src support retry on recovery Nov 4, 2016
eventuate-adapter-vertx/src Format all sources Nov 10, 2016
eventuate-core/src Minor API documentation edit Jan 10, 2017
eventuate-crdt Use await instead of whenReady in CRDT service spec Dec 21, 2016
eventuate-example-spark/src/main Experimental Spark adapter Jul 7, 2016
eventuate-example-stream/src/main/scala/com/rbmhtechnology/example/stream Format all sources Nov 10, 2016
eventuate-example-vertx/src/main Event-Metadata in Vert.x Adapter Oct 14, 2016
eventuate-examples Experimental Spark adapter Jul 7, 2016
eventuate-log-cassandra/src Fix missing systemTimestamp in processor-emitted events Jan 4, 2017
eventuate-log-leveldb/src Fix missing systemTimestamp in processor-emitted events Jan 4, 2017
project Update Scala to 2.12.0. Nov 11, 2016
src/sphinx Add documentation for TLS setup Feb 10, 2017
.gitignore Java version of Query-DB example application Mar 15, 2016
.travis.yml Cross-compile with Scala 2.11 and 2.12 on Travis CI Nov 12, 2016
LICENSE Initial commit Jan 12, 2015
README.md Mention causally ordered event streams in documentation Oct 14, 2016
build.proto Protobuf serializer for replication protocol Apr 20, 2015
build.sbt Publish test artifacts for log-leveldb and log-cassandra modules Dec 20, 2016
deploy.enc Change email of git user on Travis CI Mar 6, 2015
deploy.prep Change email of git user on Travis CI Mar 6, 2015

README.md

Gitter Build Status Stories in Ready

Eventuate

Eventuate is a toolkit for building applications composed of event-driven and event-sourced services that communicate via causally ordered event streams. Services can either be co-located on a single node or distributed up to global scale. Services can also be replicated with causal consistency and remain available for writes during network partitions. Eventuate has a Java and Scala API, is written in Scala and built on top of Akka, a toolkit for building highly concurrent, distributed, and resilient message-driven applications on the JVM. Eventuate

  • provides abstractions for building stateful event-sourced services, persistent and in-memory query databases and event processing pipelines
  • enables services to communicate over a reliable and partition-tolerant event bus with causal event ordering and distribution up to global scale
  • supports stateful service replication with causal consistency and concurrent state updates with automated and interactive conflict resolution
  • provides implementations of operation-based CRDTs as specified in A comprehensive study of Convergent and Commutative Replicated Data Types
  • supports the development of always-on applications by allowing services to be distributed across multiple availability zones (locations)
  • supports the implementation of reliable business processes from event-driven and command-driven service interactions
  • supports the aggregation of events from distributed services for updating query databases
  • provides adapters to 3rd-party stream processing frameworks for analyzing event streams

Documentation

Project

Community