Book Image

Microservice Patterns and Best Practices

By : Vinicius Feitosa Pacheco
Book Image

Microservice Patterns and Best Practices

By: Vinicius Feitosa Pacheco

Overview of this book

Microservices are a hot trend in the development world right now. Many enterprises have adopted this approach to achieve agility and the continuous delivery of applications to gain a competitive advantage. This book will take you through different design patterns at different stages of the microservice application development along with their best practices. Microservice Patterns and Best Practices starts with the learning of microservices key concepts and showing how to make the right choices while designing microservices. You will then move onto internal microservices application patterns, such as caching strategy, asynchronism, CQRS and event sourcing, circuit breaker, and bulkheads. As you progress, you'll learn the design patterns of microservices. The book will guide you on where to use the perfect design pattern at the application development stage and how to break monolithic application into microservices. You will also be taken through the best practices and patterns involved while testing, securing, and deploying your microservice application. At the end of the book, you will easily be able to create interoperable microservices, which are testable and prepared for optimum performance.
Table of Contents (20 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Understanding the pattern


We know the simplicity and practicality of REST (Representational State Transfer), mainly because this knowledge is already very well-established in the market. The number of tools and frameworks for the REST layer also help with its popularity.

REST calls have a synchronous character, and synchronous calls are blocked due to the request/response model of the technology. This type of call is often necessary for the business of the application, although it is not the most indicated. This shows us there is some level of coupling between the microservices of the application.

A purist microservice must be fully capable of performing the task for which it has been assigned without the need for communication with another microservice. Another feature of a puristic microservice is that it performs a task without the need to return a response by simply receiving the request and doing what needs to be done. In this sense, the asynchronous messaging design pattern is a model...