Microservices are an architectural style that promotes the development of complex applications as a suite of small services based on business capabilities. This course will help you identify the appropriate service boundaries within the business.
We'll start by looking at what microservices are, and their main characteristics. We will develop a basic distributed system using the microservice architecture and tools such as RabbitMQ service bus, to send messages across the separated services, or MongoDB, which is a NoSQL database. Within the course, we will focus on creating the HTTP API to act as a gateway to the whole system and so-called Activities Service, responsible for handling the incoming messages (or actually the commands that will be distributed through the services bus). We'll also implement the Identity Service, which will serve JSON Web Tokens (JWT) to authenticate requests incoming to the API. Our application will let the user store information about the activities performed at a given date for a selected category, for example, work, tasks, sport, and so on.
Once the request to save the activity is published within the system, the Activities Service will handle the business logic and decide whether the activity is valid, which will eventually result in publishing the event about processing the successful or rejected activity. In the course, you will also learn about commands and events as well as handlers which is one of the most popular design patterns when it comes to creating distributed systems.
By the end of the course, your services will be built using ASP.NET Core framework and later on, you will use tools such as Docker and Docker Compose to pack your application into the container and deploy it to the virtual machine running in the cloud.
What You Will Learn
- Use NET Core platform to build a microservices architecture
- Send messages through distributed system with the RabbitMQ service bus
- Store data in the NoSQL database, MongoDB
- Store user identities and authenticating requests using JWT
- Deploy the application to the cloud with Docker and Docker Compose
- Explore commands, events, handlers and other design patterns
- Delve into unit- and integration-testing the distributed system
This video course is for .NET Core developers who want to learn and understand the microservice architecture and implement it in their .NET Core applications. It's ideal for developers who are completely new to microservices or have just a theoretical understanding of this architectural approach and want to gain a practical perspective in order to better manage application complexity.
About The Author
Piotr Gankiewicz: Piotr Gankiewicz and Dariusz Pawlukiewicz are both Microsoft MVP, Bottega IT Minds trainers, system architects, and software engineers working on distributed systems and microservices for many years. They are also the speakers at a variety of conferences, run DevMentors community (YouTube, Gitter, Discord), and publish a lot of source code (libraries, frameworks, sample projects) on their GitHub accounts.
Table of contents
- Chapter 1 : System Architecture
- Chapter 2 : Messaging
- Chapter 3 : The Activities Service
- Chapter 4 : The Identity Service
- Chapter 5 : Using JSON Web Tokens
- Chapter 6 : Finalizing the API Gateway
- Chapter 7 : System Testing
- Chapter 8 : Dockerizing and Deploying the Application
- Title: .NET Core Microservices
- Release date: October 2017
- Publisher(s): Packt Publishing
- ISBN: 9781788626415
You might also like
.NET Core in Action
.NET Core in Action shows .NET developers how to build professional software applications with .NET Core. …
Building Microservices with ASP.NET Core
At a time when nearly every vertical, regardless of domain, seems to need software running in …
RESTful Web services with ASP.NET Core
REST is an architectural style that tackles the challenges of building scalable web services. In today's …
Microservices in .NET, Second Edition
In Microservices in .NET, Second Edition you will learn how to: Build scalable microservices that are …