ianclegg / 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

Gitter Build Status Stories in Ready

Eventuate

Eventuate is a toolkit for building applications composed of event-driven and event-sourced services that collaborate by exchanging events over shared event logs. 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
  • provides services a reliable and partition-tolerant event bus with causal event ordering and distribution options 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

About

Distributed, highly-available and partition-tolerant event sourcing

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

License:Apache License 2.0


Languages

Language:Scala 76.8%Language:CSS 10.3%Language:Java 9.0%Language:HTML 1.6%Language:Protocol Buffer 0.9%Language:Python 0.7%Language:JavaScript 0.5%Language:Shell 0.2%