CQRS + Event Sourcing — microservice patterns

  • Root (sub)domain — most important part of your domain — the $$$ maker — key generator for the business
  • Supporting — associated to the business but not a differentiator.
  • Generic — not really specific to the business
  • A concept that exists in a solution space
  • A software programing model which is applied to a specific domain (problem area)
  • Aggregate
  • Aggregate root
  • Entity
  • Value object
  • Domain event
  • Possibility to integrate with external systems using events (events are our API and external system must understand them; of course, we aren’t obliged to publish all events to the integration event hub, but only ones that are publicly important)
  • Opportunity to create query models from historical data (as opposed to CRUD’s last update state)
  • Audit log (trail of updates made to any piece of data in the system)
  • Decoupled side-effects (a command service that emits events can be decoupled from any logic expected to materialize on certain updates)
  • Assisted debugging and troubleshooting

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Data Analyst Journey — 5. Second Exercise. Simple Analysis System Part 1.

Walkthrough: Using Github’s “Saved Replies” to make life consistent and easy

Docker: Essential in 5 minutes

Cross-Cloud Resource Management with Terraform + Snowflake

A GUI to Perform IEEE 754 Single and Double Precision Arithmetics

Project 3: ESP32 Internal Sensor

Programming: Hobby or Job?

Developing Multicloud Ready Microservices with DAPR

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Carlo @ crldev.software

Carlo @ crldev.software

More from Medium

Migration to Microservices : What to watch out for ?

Revise GIT, CAP theorem and MongoDB

Authorization: Library or Service?

When Should You Apply CQRS Software Architecture Pattern?