Command-Query Responsibility Separation
CQRS is an architectural pattern that prescribes a strict split within an application and suggests isolating the command and query components from one another. Axon helps by providing the necessary building blocks and infrastructure to build and run these components and dispatch messages (commands, events, and queries) to the right destination within an application.
Demystifying repositories
6 min
|
Jan 10, 2023
Repositories are essential components in Axon Framework. However, they mostly remain behind the scenes, and developers don't need to interact with them directly. Usually, the framework can configure, instantiate and use the correct repository based on how the developer has constructed the domain components. That convenience sometimes leads to misunderstandings. Those are caused by the many meanings of the term "repository" and the assumptions developers make when they hear or read it.
How dumb do you want your pipes?
9 min
|
Dec 09, 2022
A comparison of Apache Kafka and Axon Server with respect to how they work as message pipe. Will go through the format used and how sending messages work. As well as how messages are routed and how the solutions scale.
Set Based Consistency Validation Revisited
3 min
|
Oct 18, 2022
Because set-based consistency validation is a hot topic, we discuss it a lot within AxonIQ. In one of these discussions, my colleague Frédéric Gendebien proposed applying the actor model to solve this problem. Here is how it helps validate the uniqueness of a specific value against a set.
Introducing the Axon Framework IntelliJ plugin
5 min
|
Mar 11, 2022
AxonIQ is introducing an IntelliJ plugin to make developing applications with Axon Framework and Axon Server even easier!
Distilling the CQRS/ES Capability
4 min
|
Apr 20, 2021
CQRS/ES are patterns and to be more specific they are Application Design patterns and their implementation spans across 3 main Architectural areas: structural and continuity, operational and extensibility, and cross-cutting and usability. To help pinpoint the exact implementation areas, let us look at two terms commonly used in Enterprise Architecture - Capabilities and Capability Maps.
Dispelling the Eventual Consistency FUD when using Event Sourcing
6 min
|
Mar 24, 2021
In the CQRS/ES space, we are equally guilty of not countering the FUD with enough examples and literature that gives relevant data points for folks wanting to adopt these patterns. What if I told you that your systems built with CQRS/ES are as transactionally consistent as systems built without these patterns using the more formal storage methods! Well, let’s walk through an example actually to prove it.
Set Based Consistency Validation
5 min
|
Nov 11, 2020
Requests like “How do I ensure the email address in a User aggregate is unique?” reach us quite often. We can rephrase them: How do I consistently validate consistency among a set in such a system? These are issues encountered when using CQRS in combination with Event Sourcing. Due to this, they crop up when using Axon Framework. Before diving into how to tackle this with Axon, let us first explain the problem we face here.
CQRS replay performance tuning
7 min
|
Jan 19, 2019
CQRS has become a popular pattern to avoid complex, and therefore slow, database queries in applications. Axon offers a mature and popular implementation of the CQRS/ES concepts on the JVM, but several other implementations exist. CQRS/ES presents a solution to a common performance problem. On the other hand, it introduces a couple of new potential performance challenges.
Some CQRS and Event Sourcing Pitfalls
6 min
|
Dec 10, 2018
In one of our recent blogs, we talked about constructing a real-life Axon application. Which areas should you distinguish on a high level, and what code should go where? Which pitfalls are there that we should avoid? I will cover some of these in this blog. It’s based on stuff I’ve seen happening for real when working with many Axon clients.
Demystifying Tracking Event Processors in Axon Framework
6 min
|
Nov 27, 2018
An important ingredient in the Framework is the explicit use of messages. One of the types of messages is events.In Axon Framework, there are two ways of event processing - subscribing and tracking. Therefore, the Framework provides Subscribing Event Processor (SEP) and Tracking Event Processor (TEP) components to support these two ways of event processing. This blog will discuss the features of TEP and how those are implemented.