All Projects → gushakov → axon-multi

gushakov / axon-multi

Licence: other
Playground application demonstrating DDD, EDA, CQRS with Axon

Programming Languages

java
68154 projects - #9 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to axon-multi

Pos
Sample Application DDD, Reactive Microservices, CQRS Event Sourcing Powered by DERMAYON LIBRARY
Stars: ✭ 207 (+800%)
Mutual labels:  cqrs, event-driven, microservices-architecture
Pitstop
This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious garage. The primary goal of this sample is to demonstrate several software-architecture concepts like: Microservices, CQRS, Event Sourcing, Domain Driven Design (DDD), Eventual Consistency.
Stars: ✭ 708 (+2978.26%)
Mutual labels:  cqrs, event-driven, microservices-architecture
football-events
Event-Driven microservices with Kafka Streams
Stars: ✭ 57 (+147.83%)
Mutual labels:  cqrs, event-driven, microservices-architecture
Event Sourcing Microservices Example
Learn about building microservices with event sourcing using Spring Boot and how to deploy a social network to Kubernetes using Docker Compose or Helm.
Stars: ✭ 167 (+626.09%)
Mutual labels:  cqrs, event-driven
Goes
Go Event Sourcing made easy
Stars: ✭ 144 (+526.09%)
Mutual labels:  cqrs, event-driven
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (+591.3%)
Mutual labels:  cqrs, event-driven
Vertex
Vertex is a distributed, ultimately consistent, event traceable cross platform framework based on Orleans, which is used to build high-performance, high throughput, low latency, scalable distributed applications
Stars: ✭ 117 (+408.7%)
Mutual labels:  cqrs, event-driven
Watermill
Building event-driven applications the easy way in Go.
Stars: ✭ 3,504 (+15134.78%)
Mutual labels:  cqrs, event-driven
Dntframeworkcore
Lightweight and Extensible Infrastructure for Building Web Applications - Web Application Framework
Stars: ✭ 208 (+804.35%)
Mutual labels:  cqrs, event-driven
awesome-software-architecture
A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.
Stars: ✭ 1,594 (+6830.43%)
Mutual labels:  event-driven, microservices-architecture
awesome-talks
Awesome talks about event sourcing, cqrs, microservices, funcional programming ...
Stars: ✭ 23 (+0%)
Mutual labels:  cqrs, event-driven
Booster
Booster Cloud Framework
Stars: ✭ 136 (+491.3%)
Mutual labels:  cqrs, event-driven
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (+469.57%)
Mutual labels:  cqrs, event-driven
Php Ddd Example
🐘🎯 Hexagonal Architecture + DDD + CQRS in PHP using Symfony 5
Stars: ✭ 1,960 (+8421.74%)
Mutual labels:  cqrs, microservices-architecture
eda
eda is a library for implementing event-driven architectures.
Stars: ✭ 31 (+34.78%)
Mutual labels:  cqrs, event-driven
dotnet-core-microservices-kafka
Asp.Net Core microservices that communicate asynchronous through Kafka message broker.
Stars: ✭ 42 (+82.61%)
Mutual labels:  event-driven, microservices-architecture
Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (+891.3%)
Mutual labels:  cqrs, event-driven
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (+195.65%)
Mutual labels:  cqrs, event-driven
Dotnetcore Microservices Poc
Very simplified insurance sales system made in a microservices architecture using .NET Core
Stars: ✭ 1,304 (+5569.57%)
Mutual labels:  cqrs, microservices-architecture
educational-platform
Modular Monolith Java application with DDD
Stars: ✭ 124 (+439.13%)
Mutual labels:  cqrs, axon-framework

Axon Multi-services

🚧 Attention: under construction 🚧

⚠️ Note, in AssignPrivateAddressSaga.java there is a use of QueryGateway for validation of the address assigment. This goes against CQRS principles stating that a Saga must not access the read-model (or projections). See this question and answer for more details.

Introduction

Playground application with uses Axon framework to demonstrates a way of building a distributed event-driven system around the concepts of domain-driven design and CQRS.

Application structure

There are several modules, they are standalone Spring Boot applications or libraries:

  • common: module containing configuration (Maven dependencies) common to other modules
  • core: module with all commands and events shared by other modules
  • db: H2 file database running as a TCP server
  • address: microservice around "address" aggregate
  • person: microservice around "person" aggregate
  • saga: Saga implementation of a business transaction (private address assignment)

Axon configuration

  • Using Axon Server version 4.1 without event sourcing infrastructure
  • Aggregates, projections, and Sagas persist their states in the separate schemas of the central H2 database

CQRS and messaging infrastructure

This is the overview of the system:

architecture

API

Saga

This is how assigning private address to a person Saga proceeds:

address_saga

Build and run with Docker

  • Run mvn package on the project
  • Run docker-compose up

H2 database

  • Access H2 console at http://localhost:8079/h2-console
  • Use Server configuration
  • JDBC URL: jdbc:h2:tcp://localhost:9090/./axondb;IFEXISTS=true;DB_CLOSE_ON_EXIT=FALSE

Links and resources used in this project

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].