Axon Framework vs Eventuate comparison

Stefano L picture Stefano L · Mar 31, 2017 · Viewed 8.4k times · Source

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?

Answer

Allard picture Allard · Apr 4, 2017

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.