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

Security


There are several ways to attack an application. Understanding how to protect microservices is paramount to not having the credibility of the software destroyed in seconds.

Understanding JWT

When we are working with APIs, we need to think about the security of data traffic and especially the level of permission that each user should have. There are many ways to do this, but the one that currently stands out is JWT (JSON Web Token), mainly because it is safe and easy to implement.

JWT is a data transfer system that can be sent via URL, POST, or in an HTTP header. This information is digitally signed, for example, signed with the HMAC algorithm or public/private keys using the RSA algorithm.

The structure of the JWT is divided into three parts, separated by dots. The three parts are header, payload, and signature. The following example shows the creation and reading of a JWT token made in Go. Like all Go code, we start with the package declaration and the import statements:

package main...