3 Architecture of a microservice application

 

This chapter covers

  • The big picture view of a microservice application
  • The four tiers of microservice architecture: platform, service, boundary, and client
  • Patterns for service communication
  • Designing API gateways and consumer-driven façades as application boundaries

In chapter 2, we designed a new feature for SimpleBank as a set of microservices and discovered that deep understanding of the application domain is one of the keys to a successful implementation. In this chapter, we’ll look at the bigger picture and consider the design and architecture of an entire application made up of microservices. We can’t give you a deep understanding of the domain your own application lives in, but we can show you how having such an understanding will help you build a system that’s flexible enough to grow and evolve over time.

You’ll see how a microservice application is typically designed to have four tiers — platform, service, boundary, and client — and you’ll learn what they are and how they combine to deliver customer-facing applications. We’ll also highlight the role of an event backbone in building a large-scale microservice application and discuss different patterns for building application boundaries, such as API gateways. Lastly, we’ll touch on recent trends in building user interfaces for microservice applications, such as micro-frontends and frontend composition.

3.1 Architecture as a whole

 
 
 

3.1.1 From monolith to microservices

 
 
 
 

3.1.2 The role of an architect

 
 
 

3.1.3 Architectural principles

 
 
 

3.1.4 The four tiers of a microservice application

 
 

3.2 A microservice platform

 

3.2.1 Mapping your runtime platform

 
 
 
 

3.3 Services

 
 
 

3.3.1 Capabilities

 
 

3.3.2 Aggregation and higher order services

 

3.3.3 Critical and noncritical paths

 
 

3.4 Communication

 
 

3.4.1 When to use synchronous messages

 
 
 

3.4.2 When to use asynchronous messages

 
 
 

3.4.3 Asynchronous communication patterns

 
 
 

3.4.4 Locating other services

 
 

3.5 The application boundary

 
 
 

3.5.1 API gateways

 
 
 

3.5.2 Backends for frontends

 
 
 

3.5.3 Consumer-driven gateways

 
 

3.6 Clients

 

3.6.1 Frontend monoliths

 
 

3.6.2 Micro-frontends

 

Summary

 
 
 
 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
test yourself with a liveTest