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

Applying tests


The test process at this time receives new element integration. We need to validate that the minimum functionalities for the full operation of the business are being met. For this, we have two basic approaches—functional testing of each microservice and integrated testing of microservices.

Functional test

The functional test will prove whether a microservice performs its function perfectly. Again, let's take the microservice famous_news_service as an example, where we will write the tests of the command layer.

Writing the functional test

First, we will declare imports in the tests.py file. Nameko has good support testing and provides the worker_factory function, which causes the elements identified by Nameko to be performed without using a real server:

import os
import pytest
from .service import Command
from nameko.testing.services import worker_factory
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

After the imports declaration, we'll create a fixture...