The latest version of CQRS framework Axon supports MongoEventStore, which uses MongoDB as a backing store, and comes with a simplified API and performance improvements. The recently released version 2.0 also lets event objects be based on POJOs and annotations to define messages, payload and metadata. Other features in the new version include:
- A high performance command bus which, by processing commands in parallel using a lockless algorithm, is capable of handling four times more commands per time unit.
- Logic to ensure serialization of an event is only made once and deserialization made only when the event is actually used.
- Significantly faster in replaying of large number of events.
- A distributed command bus allowing for horizontal scaling over several machines with the load adjusted for each machine.
- Support for upcasting and demultiplexing of events, i.e. transforming old events into multiple new events after a new event structure is implemented.
- AMQP can be used to distribute events.
The team also published a QuickStart Guide with the steps needed to build a simple system based on Axon and updated the Reference Guide to reflect the changes in the framework.
Axon Framework provides the building blocks for systems based on the CQRS and Event Sourcing architectural patterns, two patterns that are receiving an increasing interest. The Domain-Driven Design (DDD) community website, maintained by among others Eric Evans, author of the DDD reference book, specifically notes the importance:
“CQRS & Event Sourcing are two closely related architectural approaches to DDD and they are the hottest topics in DDD of the last couple of years.”
Axon Framework, founded by Allard Buijze, is an open source product, licensed under the Apache License, Version 2.0, with commercial support as an option.
A forum for Axon users is available with about 200 members and so far around 300 topics. A discussion about real world experiences reveals both positive and negative feedback on the framework.