Chapter 5. Microservice Design

When embarking on developing an application using a Microservices Architecture, it is important to understand how to best design the microservices that your application needs. Building a distributed architecture, such as a microservice architecture, has many challenges, and can be difficult to get right; specifically when dealing with possible failure points and dealing with distributed transactions.

When developing systems, it has been proven that designing, modeling, and building systems around the domain is a recipe for success. This is true regardless of the architectural style you are using. Understanding the requirements for a system and modeling the domain usually starts with a requirements-gathering phase to get a better understanding of the domain and the problem we are solving. Requirements gathering can elicit software requirements from various activities such as discussing user scenarios, creating user stories, looking at sequences of events for the ...

Get Cloud Application Architecture Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.