.NET Core Microservices

.NET Core Microservices

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 3h 59m | 937 MB

Transitioning monolithic architectures microservices with .NET Core

Build distributed system using microservices architecture

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
Table of Contents

01 The Course Overview
02 What Are We Going to Build
03 Setting up the Environment
04 Discussing System Architecture
05 Creating Solution
06 Configuring RabbitMQ Service Bus
07 Creating Commands
08 Creating Events
09 Implementing Helper Classes and Methods
10 Implementing API Endpoints
11 Subscribing to the Messages
12 Creating Domain Models
13 Setting up MongoDB
14 Implementing Repositories
15 Creating Application Services
16 Implementing Handlers
17 Defining User Entity
18 Hashing Passwords
19 Storing User Data
20 Registering and Logging In
21 JSON Web Tokens
22 Implementing JWT with HMAC
23 Authenticating the User
24 Implementing Event Handlers
25 Storing the Data
26 Refactoring Endpoints
27 Executing HTTP Requests
28 API Testing
29 Activities Service Testing
30 Identity Service Testing
31 Running Services Using Docker
32 Using Docker Compose
33 Storing Docker Images in a Hub
34 Deploying Application to the Cloud