Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Microservices & Docker + DDD + CQRS

Explains an approach to work with a microservices based architecture using .Net Core, Docker, and Azure Service Fabric, applying Domain Driven Design (DDD) and Comand and Query Responsibility Segregation (CQRS)

As you can see DUber is facing problems related to scalability, availability, agility and tracking business objects/workflows. So, we’re going to tackling those problems with a Microservice architecture helped by DDD, CQRS, Docker and Azure Service Fabric mainly, but first, we’re going to start analyzing the problem making a business domain model helped by DDD.

13.
Problem
DUber is a public transport company that matches drivers with users that require a taxi
service in order to move them from one place to another through an App that allows
them to request a service using their current location and picking up the destination on a
map.
The main problems:
• DUber became a pretty popular application and it’s used by
millions of people, but currently, it has scaling problems due to
its monolithic architecture.
• In the rush hours the DUber’s services collapse because the
system can’t support the big amount of requests.
• DUber is facing problems tracking all about the trip, since it
starts until it ends. So user and driver aren’t aware, for instance
when a service is canceled or the driver is on the way, etc.
• Since the current architecture is a monolithic one and the team
is very big, the release process in DUber takes long time,
especially for bugs because before the fix is released, is
necessary to test and redeploy the whole application.
13