Building Microservices with .NET is an engaging course taught by Julio Casal. This comprehensive program aims to guide learners in developing backend services for a client-based video game, all using the robust .NET platform. The course is set in a game environment where players purchase items like potions and weapons with an in-game currency, "Jill," providing a practical context for the microservices being built.
Course Overview
Throughout the course, learners are introduced to key aspects essential for building effective microservices.
High-Level Architecture
Understand the architecture involving client applications and backend services. While the development of client-side applications is beyond the course's scope, the focus is on backend services that are crucial for game operations.
Microservices-Based System
Explore the Play Economy System, engineered with four specialized microservices: Catalog, Inventory, Identity, and Trading. Each microservice is equipped with its own database, and they communicate with one another via a coherent message broker system.
Technologies and Frameworks
Delve into a variety of technologies utilized throughout the course, including .NET, ASP.NET Core, MongoDB, RabbitMQ, Mass Transit, Identity Server, React, Docker, and more. These tools are integral in constructing different components of the system.
Authentication and Authorization
Learn how to implement secure authentication and authorization mechanisms through OpenID Connect to ensure reliable user interactions across multiple services.
API Gateway
Gain insights into managing communication within cloud environments utilizing an API gateway, addressing cross-cutting concerns effectively.
Infrastructure Components
Understand the significance of logging, distributed tracing, and monitoring for maintaining system health. Utilize tools like Seq, OpenTelemetry, Jaeger, Prometheus, and Grafana for efficient system troubleshooting.
Practical Application
Access comprehensive source code and receive detailed guidance on building and running a frontend portal and accompanying microservices in a local development environment.
Hands-On Experience
Engage in practical exercises that focus on setup and utilization of the necessary tools and technologies, ensuring an immersive and comprehensive learning experience.