Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Axon Framework vs Eventuate comparison

We are currently doing some research about CQRS and Event Sourcing and found two major frameworks taking care of these two concerns: Axon Framework and Eventuate. Both are continuesly developed, while Eventuate is now more actively developed in the RBMH repository.

I was GIT cloning some sample projects for both and came to the conlusion that Eventuate looks a little bit more lightweight, however I assume this is due to lack of features compared to Axon.

I tried in vain to find a comparison between those 2 frameworks, also here in Stackoverflow I couldn't find any. Does someone have some input?

like image 574
Stefano L Avatar asked Mar 31 '17 08:03

Stefano L


People also ask

Is Axon Framework widely used?

The Axon framework is becoming more popular every day and it's one of the main frameworks to implement CQRS & Event Sourcing.

What is the axon Framework?

Axon Framework is a Java framework that provides implementations of the most important building blocks, e.g. aggregates, command, and event buses, as well as repositories to help developers apply the CQRS architectural pattern when building applications.

Why do we need Axon Framework?

Axon Framework is designed to support developers to apply the CQRS/DDD architectural pattern and Event Sourcing.It helps developers build easily scalable and maintainable applications by providing implementations of some basic building blocks, such as Aggregates, repositories and event buses (the dispatching mechanism ...


1 Answers

Being the original author of Axon Framework, this answer may be a bit biased. I am also not an expert in Eventuate, although I am familiar with its concepts.

Axon has been around for about 7 years and is being used by many systems in production since then. It appears that Eventuate has been designed as a SaaS solution (with open source local-install alternative), which is currently in Alpha.

Both frameworks seem to have been designed with different goals in mind. Where Eventuate focuses on Event Sourcing and event publication, Axon's focus is much more on the abstraction of messaging, where messaging is both Commands, Events and (in a later stage also) Queries. It provides annotations to demarcate Event and Command handlers. It also allows you to design your entities in a way that keeps it decoupled from the framework's internals.

This abstraction allows you to "plug in" any database you would like to use as Event Store. Axon provides support for JPA, JDBC and MongoDB out of the box. As far as I can tell, Eventuate provides its own event store implementation.

like image 63
Allard Avatar answered Sep 21 '22 18:09

Allard