In my previous blog, I spent just a little bit of text on the challenges of using a single StatefulSet scaled to the number of nodes we want in the cluster. Also, I completely skipped the subject of using Helm to manage the deployment. Both subjects do merit more attention, so let’s do just that.
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.
Protect sensitive data in an Event-Sourced Application
By Yvonne Ceelie
Feb 24, 2021
In message-driven systems, messages flow in a lot of directions.The right to data erasure is a requirement that is common in security laws. At first glance, the right to erasure seems to be contradictory to event sourcing. A solution to overcome this problem is crypto shredding. AxonIQ’s Data Protection Module takes a declarative approach to encrypting sensitive data.
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.
From Model to Code: Event Modeling & Axon Framework
By Sara Torrey
Oct 27, 2020
Well, the "old me" would design an application "on the fly;" AKA, create a repository on GitHub, open it on IntelliJ, and BAM! You’ve got an application. Success? Sure… maybe for a simple application. But what about designing a large-scale application or a modular application with individual parts that can scale and evolve easily?
Running Axon Server - Going from local developer install to full-featured cluster in the cloud
By Bert Laverman
Apr 01, 2020
In this blog series, I will guide you on installing Axon Server for different scenarios, starting with a local installation of Axon Server Standard Edition as a “normal” application, via Docker and Docker-compose, to eventually arrive at a full cluster of Axon Server Enterprise Edition on Cloud VMs. In this first blog, we will focus on getting a feel for the work involved in setting up a scripted installation.
Bounded Contexts represent logical boundaries from a run-time perspective, defined by contracts within software artefacts where the model is implemented. In Axon applications, the contract (API) is represented as a set of messages (commands, events, and queries) which the application publishes and consumes. Bounded Contexts are a strategic concept in Domain Driven Design, and it is important to know how it is reflected in the architecture and organizational/team structure.
Demystifying Tracking Event Processors in Axon Framework
By Milan Savić
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.