Axon, Axon Framework and Axon Server (Enterprise) for event-driven microservices.
Domain Driven Design
Domain Driven Design (DDD) defines a number of concepts and patterns that help designing software effectively, in-line with the business requirements. Axon separates infrastructural concerns from the domain logic, which in combination with DDD best practices, keeps complexity to a minimum.
Event Sourcing is a pattern for data storage, where instead of storing the current state of any entity, all past changes to that state are stored. With Axon Framework, you can implement Event Sourcing with minimal boilerplate code, giving you the benefits of Event Sourcing, without the hassle.
Command-Query Responsibility Segregation
Command-Query Responsibility Segregation (CQRS) is an architectural pattern that prescribes a strict split within an application and suggests to isolate 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.