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

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

Открыть на
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. Маркетплейс на микросервисах»Учеников на курсе 86
Сертификаты, выданные на курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Сертификатов выдано 14
Отзывы о курсе «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Отзывов получено 16
Рейтинг курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах»Рейтинг курса 4.812
Уроки в курсе «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. Маркетплейс на микросервисах» 16 ч. Последнее обновление курса «C#: CQRS, gRPC, RabbitMQ, Grafana. Маркетплейс на микросервисах» обн. 9 октября 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. Финал ↗