roy-luoll / eventuate

Distributed, highly-available and partition-tolerant event sourcing

Home Page:http://rbmhtechnology.github.io/eventuate/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Stories in Ready Gitter

Eventuate

Eventuate is a toolkit for building distributed, highly-available and partition-tolerant event-sourced applications. It 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

  • derives current application state from logged events (event sourcing)
  • replicates application state by replicating events across multiple locations
  • allows updates to replicated state at multiple locations concurrently (multi-master)
  • allows individual locations to continue writing even if they are partitioned from other locations
  • provides means to detect, track and resolve conflicting updates (interactive and automated)
  • enables reliable event collaboration between event-sourced microservices
  • enables applications to implement a causal consistency model
  • preserves causal ordering of replicated events
  • provides implementations of operation-based CRDTs
  • supports distribution up to global scale

Find out more in the introduction and the project documentation.

About

Distributed, highly-available and partition-tolerant event sourcing

http://rbmhtechnology.github.io/eventuate/

License:Apache License 2.0


Languages

Language:Scala 78.4%Language:CSS 13.7%Language:Java 3.7%Language:HTML 2.2%Language:Protocol Buffer 0.9%Language:Python 0.7%Language:Shell 0.3%Language:JavaScript 0.2%