Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Developing Microservices With Aggregates [Video]

DZone's Guide to

Developing Microservices With Aggregates [Video]

The Domain Model is great, but it complicates microservices. Aggregates can make this process easier, but you'll need to get used to NoSQL and eventual consistency.

· Database Zone ·
Free Resource

RavenDB vs MongoDB: Which is Better? This White Paper compares the two leading NoSQL Document Databases on 9 features to find out which is the best solution for your next project.  

The Domain Model pattern is a great way to develop complex business logic. Unfortunately, a typical domain model is a tangled, birds nest of classes. It can’t be decomposed into microservices. Moreover, business logic often relies on ACID transactions to maintain consistency. Fortunately, there is a solution to this problem: aggregates. 

An aggregate is an often overlooked modeling concept from the must read book Domain Driven Design. In this talk, you will learn how aggregates enable you to develop business logic for the modern world of microservices and NoSQL. We will describe how to use aggregates to design modular business logic that can be partitioned into microservices. You will learn how aggregates enable you to use eventual consistency instead of ACID.

We will describe the design of a microservice that is built using aggregates and Spring Cloud.

Recorded at SpringOne Platform 2016.

Speaker: Chris Richardson

Slides: http://www.slideshare.net/SpringCentral/developing-microservices-with-aggregates

Get comfortable using NoSQL in a free, self-directed learning course provided by RavenDB. Learn to create fully-functional real-world programs on NoSQL Databases. Register today.

Topics:
database ,nosql ,eventual consistency ,microservices ,aggregates

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}