Курс на Stepik
Обложка курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах» на Stepik
14 000 ₽

C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах 5.000

Открыть на
STEPIK.ORG

Курс предлагает комплексное обучение разработке микросервисов на .NET и C# с использованием современных технологий: CQRS, MediatR, gRPC, Marten, PostgreSQL, MySQL, Dapper, Entity Framework, Redis, RabbitMQ, MassTransit, Docker, Docker Compose, GitHub Actions, Serilog, ELK Stack, Prometheus, Grafana, k6 и Portainer. Вы создадите микросервисы с продвинутой архитектурой, научитесь их тестировать, логировать и мониторить, а также организуете автоматическое управление инфраструктурой

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Учеников на курсе 80
Сертификаты, выданные на курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Сертификатов выдано 11
Отзывы о курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Отзывов получено 13
Рейтинг курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Рейтинг курса 5.000
Уроки в курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Количество уроков 138
Тесты в курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Количество квизов 16
Задачи с кодом в курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Количество задач с кодом 5
Время прохождения курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Время прохождения курса
Стоимость курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Стоимость курса 14 000 ₽
Обновления курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Обновления курса
Дата публикации курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Дата публикации курса
Последнее обновление курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Последнее обновление
Сложность hard

Содержание курса

Разделы в курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах» 11 разделов Уроки в курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах» 138 уроков Тесты в курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах» 16 тестов Задачи в курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах» 5 задач Время прохождения курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах» 17 ч. Последнее обновление курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах» обн. 27 августа 2026

Старт

4 урока
1. Приветствие
2. Описание проекта
3. Дополнение
4. Начало разработки

Создание и публикация шаблона микросервиса

12 уроков
1. Введение в создание шаблона микросервиса
2. Создание структуры проекта с уточнением по файлу решения
3. Настройка зависимостей
4. Настройка Swagger для API документации
5. DependencyInjection для API слоя
6. DependencyInjection для остальных слоев
7. Настройка global usings директив
8. Создание GitHub Action workflow для автоматизации
9. Публикация пакета шаблона
10. Установка созданного шаблона
11. Использование шаблона для создания проектов
12. Публикация документации на GitHub Pages

Создание и настройка микросервиса каталога

14 уроков
1. Инициализация проекта и создание первого микросервиса каталога
2. Настройка портов для микросервиса каталога
3. Создание сущностей BaseEntity, Brand, Category, CatalogItem
4. Добавление репозитория IBrandRepository
5. Добавление репозитория ICategoryRepository
6. Добавление репозитория ICatalogItemRepository
7. Обновление конфигурации подключения
8. Настройка Docker Compose для БД и DBeaver
9. Тестовые данные и интеграция библиотеки Marten с PostgreSQL
10. Класс для инициализации и наполнения БД тестовыми данными
11. Интеграция Marten и инициализация БД в DI контейнер
12. Реализация CatalogRepository с методами работы через Marten
13. Добавление пакета MediatR в проект
14. Запрос, обработчик и ответ для получения списка брендов

CQRS и MediatR в каталога

12 уроков
1. BrandsController для получения брендов через MediatR
2. Регистрация MediatR и контроллеров в DI с MapControllers
3. Поддержка лицензии MediatR с ключом из конфигурации
4. Рефакторинг BrandsController на базовый ApiController
5. Исправление возврата результата в BrandsController
6. Версионирование API и обновление конфигурации Swagger
7. CQRS: запрос для получения категорий с техническим заданием
8. CQRS: запрос для получения товаров каталога
9. CQRS: запрос для получения товара по ID
10. CQRS: запрос для поиска товаров по названию
11. CQRS: запрос для получения товаров по бренду
12. Создание CatalogItem через CQRS с размышлениями о валидации

Расширение и Production‑ready

12 уроков
1. CQRS: команда для обновления товара
2. ТЗ CQRS: команда для удаления товара с техническим заданием
3. Универсальная модель пагинации Pagination
4. CQRS: запрос для получения товаров с пагинацией v2
5. CatalogItemControllerV2 для v2 API с Swagger аннотациями
6. Поддержка Swagger: документации и UI для v2 API
7. Модель QueryArgs с поддержкой фильтрации, поиска и сортировки
8. Рефакторинг для повышения производительности с техническим задан
9. XML: документирование для Swagger и описание сортировки
10. Конфигурация appsettings.json и Dockerfile
11. Production docker - compose
12. Weekly и беклог

Микросервис корзины: CQRS, кэширование и продакшн‑подготовка

16 уроков
1. Создание проекта Common.Kernel с интеграцией MediatR
2. Базовые интерфейсы CQRS: команд и запросов в Common.Kernel
3. Создание микросервиса Basket.API с базовой структурой проекта
4. Настройка basket_db для разработки и подключение NuGet—пакетов
5. Базовая интеграция Carter, Marten, MediatR и Swagger
6. Базовые модели ShoppingCart и ShoppingCartItem
7. Реализация ICartRepository и CartRepository с настройкой Marten
8. CQRS: команда для сохранения корзины с Mapster и Swagger
9. CQRS: запрос для получения корзины
10. Кастомный обработчик исключений
11. Интеграция FluentValidation
12. CQRS: команда для удаления корзины по accountName
13. Интеграция Redis кэширования с декоратором и Scrutor
14. Конфигурация подключений и Dockerfile для Basket.API
15. Production docker — compose
16. Weekly и беклог

Микросервис промоакций на gRPC: CQRS, Dapper, MySQL и продакшн

16 уроков
1. Создание микросервиса с базовой структурой проект
2. Настройка gRPC reflection и интеграция с БД
3. Рефакторинг Program.cs с DependencyInjection и global usings
4. Интеграция MediatR для CQRS — паттерна с Common.Kernel
5. Настройка MySQL базы данных с Dapper ORM
6. Доменная модель Promo для промоакций
7. Инфраструктура инициализации БД с тестовыми данными
8. Полная инициализация БД с созданием таблицы и заполнением данных
9. Замена GreeterService на PromoGrpcService с тестированием
10. Реализация получения промоакций для gRPC сервиса
11. Реализация создания промоакций для gRPC сервиса
12. Полный CQRS: цикл для обновления промоакций с техническим задани
13. Конфигурация Mapster для автоматического маппинга proto — моделе
14. Полный CQRS: цикл для удаления промоакций + ТЗ ∙
15. Dockerfile для контейнеризации Promotion gRPC сервиса ∙
16. Production docker: compose для Promotion gRPC с MySQL ∙

Интеграция промосервиса и корзины

8 уроков
1. Интеграция gRPC клиента для получения промоакций в корзине ∙
2. Dev-окружение: добавление Promotion gRPC сервиса с MySQL ∙
3. Интеграция применения промоскидок ∙
4. Рефакторинг SaveCartCommandHandler ∙
5. Исправление обработки отсутствующих промоакций + ТЗ ∙
6. Production конфигурация ∙
7. Логика для инициализации БД ∙
8. Weekly и беклог

Микросервис заказов

21 урок
1. Создание микросервиса с базовой структурой и настройкой БД ∙
2. Базовый класс BaseEntity с системой аудита ∙
3. Создание доменной модели ∙
4. Подключение Entity Framework Core с PostgreSQL ∙
5. Настройка DbContext и конфиг маппинга ∙
6. Создание тестовых данных и автоматическое заполнение БД ∙
7. Автоматические миграции и seed при старте приложения ∙
8. Первая миграция InitialCreate и загрузка тестовых данных ∙
9. Реализация интерфейсов репозиториев с CQRS разделением ∙
10. Базовый репозиторий BaseRepository с CRUD операциями ∙
11. Рефакторинг Repository и реализация Repository ∙
12. Автоматический аудит в DbContext с перехватом SaveChanges ∙
13. Интеграция MediatR и Carter для API организации ∙
14. Функционал получения заказов с Mapster маппингом и валидацией ∙
15. Исправление ValidationBehavior для поддержки Query — запросов ∙
16. Глобальный обработчик исключений и исправление валидации ∙
17. Реализация команды создания заказа с DTO и валидацией ∙
18. Функционал удаления заказа ∙
19. Функционал обновления заказа с частичным обновлением ∙
20. Контейнеризация микросервиса Checkout с Docker ∙
21. Production docker — compose для Checkout.API с PostgreSQL ∙

Событийная интеграция с RabbitMQ: MassTransit

9 уроков
1. Настройка RabbitMQ в Dev-окружении
2. Интеграция MassTransit.RabbitMQ
3. Базовые классы событий для межсервисного взаимодействия
4. Extension методы для конфигурации MassTransit с RabbitMQ
5. Интеграция брокера сообщений и настройка маппинга
6. Реализация функционала корзины и публикация событий ∙
7. Обработка заказов через RabbitMQ ∙
8. Docker инфраструктура для production окружения
9. Weekly и беклог

Инфраструктура

14 уроков
1. Построение инфраструктуры ∙
2. Структурированное логирование HTTP — запросов ∙
3. Централизованная настройка системы логирования ∙
4. Конфигурирование Serilog от консоли до файлов ∙
5. Логирование gRPC коммуникации ∙
6. Централизованное логирование с ELK Stack ∙
7. Production — ready ELK инфраструктура ∙
8. Нагрузка с k6 ∙
9. Мониторинг производительности Prometheus + Grafana ∙
10. Библиотека метрик Common.Metrics ∙
11. Библиотека метрик Common.Metrics ∙
12. Дашборды Grafana для микросервисов ∙
13. Управление контейнерами с Portainer ∙
14. Финал