Book Image

Building Microservices with .NET Core

By : Gaurav Aroraa, Lalit Kale, Manish Kanwar
Book Image

Building Microservices with .NET Core

By: Gaurav Aroraa, Lalit Kale, Manish Kanwar

Overview of this book

Microservices is an architectural style that promotes the development of complex applications as a suite of small services based on business capabilities. This book will help you identify the appropriate service boundaries within the business. We'll start by looking at what microservices are, and what the main characteristics are. Moving forward, you will be introduced to real-life application scenarios, and after assessing the current issues, we will begin the journey of transforming this application by splitting it into a suite of microservices. You will identify the service boundaries, split the application into multiple microservices, and define the service contracts. You will find out how to configure, deploy, and monitor microservices, and configure scaling to allow the application to quickly adapt to increased demand in the future. With an introduction to the reactive microservices, you strategically gain further value to keep your code base simple, focusing on what is more important rather than the messy asynchronous calls.
Table of Contents (10 chapters)

Communication between services


In the case of a .NET monolithic application, if there is a need to access third-party components or external services, we use the HTTP client or another client framework to access the resources. In Chapter 2, Building Microservices, we developed Product service in such a way that it would work independently. But this was not the case; we mandatorily required a few services to interact with each other. So this is a challenge: having services communicate with each other. Both Product service and Order service are hosted on separate servers. Both these servers are independent of each other, are based on REST, and have their own endpoints via which they communicate with each other (when a service interacts with another service and vice versa, we refer to it as inter-service communication as well).

There are ways in which services communicate with each other; let's discuss them briefly:

  • Synchronous: In this, the client makes a request to the remote service (called...