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.