In this week’s podcast, Thomas Betts talks with Chris Richardson, a developer, architect, Java Champion and author of POJOs in Action. Before his workshop on Microservices w/ Spring Boot and Docker at QCon San Francisco 2016, Richardson took time to discuss his ideas on how to use DDD and CQRS concepts as a guide for implementing a robust microservices architecture.
Why listen to this podcast:
- "Microservice architecture" is a better term than "microservices". The latter suggests that a single microservice is somehow interesting
- The concepts discussed in Domain-Driven Design are an excellent guide for how to implement a microservices architecture
- Bounded Contexts correspond well to individual microservices
- Event sourcing and CQRS provide patterns for how to implement loosely coupled services
- When converting a monolith to microservices, avoid a big bang rewrite, in favor of an iterative approach
Notes and links can be found on: http://bit.ly/2hZ8TM1
11m:51s - Microservices must be loosely coupled, usually creating a model with one database per service.
12m:45s - There is a business requirement to maintain data consistency across services, and using an event driven architecture is a good way to achieve that.
13m:38s - Event sourcing is specific technique for persisting domain objects as a series of events.
14m:11s - Just as transactions don’t like to be split across microservices, queries cannot simply join across multiple data sources. CQRS provides a solution that accommodates querying via microservices and materialized views.
More on this:
Quick scan our curated show notes on InfoQ. http://bit.ly/2hZ8TM1
You can also subscribe to the InfoQ newsletter to receive weekly updates on the hottest topics from professional software development. bit.ly/24x3IVq