Курс на Stepik
Обложка курса «Go: микросервисная архитектура на реальном проекте» на Stepik
7 900 ₽

Go: микросервисная архитектура на реальном проекте 0.000

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

Практический курс по созданию микросервисной системы на Go. За время прохождения уроков вы с нуля построите маркетплейс из четырёх сервисов: каталог товаров, корзина с Redis-кэшированием, промоакции через gRPC и оформление заказов через RabbitMQ. Каждый сервис — Clean Architecture, CQRS, PostgreSQL/MySQL. В финале — Prometheus, Grafana, нагрузочные тесты и Docker Compose для продакшена. Никакой воды — только код, архитектура и практика

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Go: микросервисная архитектура на реальном проекте»Учеников на курсе 8
Сертификаты, выданные на курсе «Go: микросервисная архитектура на реальном проекте»Сертификатов выдано 0
Отзывы о курсе «Go: микросервисная архитектура на реальном проекте»Отзывов получено 0
Рейтинг курса «Go: микросервисная архитектура на реальном проекте»Рейтинг курса 0.000
Уроки в курсе «Go: микросервисная архитектура на реальном проекте»Количество уроков 137
Тесты в курсе «Go: микросервисная архитектура на реальном проекте»Количество квизов 5
Задачи с кодом в курсе «Go: микросервисная архитектура на реальном проекте»Количество задач с кодом 5
Время прохождения курса «Go: микросервисная архитектура на реальном проекте»Время прохождения курса
Стоимость курса «Go: микросервисная архитектура на реальном проекте»Стоимость курса 7 900 ₽
Обновления курса «Go: микросервисная архитектура на реальном проекте»Обновления курса
Дата публикации курса «Go: микросервисная архитектура на реальном проекте»Дата публикации курса
Последнее обновление курса «Go: микросервисная архитектура на реальном проекте»Последнее обновление
Сложность normal

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

Разделы в курсе «Go: микросервисная архитектура на реальном проекте» 7 разделов Уроки в курсе «Go: микросервисная архитектура на реальном проекте» 137 уроков Тесты в курсе «Go: микросервисная архитектура на реальном проекте» 5 тестов Задачи в курсе «Go: микросервисная архитектура на реальном проекте» 5 задач Время прохождения курса «Go: микросервисная архитектура на реальном проекте» 16 ч. Последнее обновление курса «Go: микросервисная архитектура на реальном проекте» обн. 26 мая 2026

1. Первые шаги

2 урока
Закрытый
1.1 Старт
4
3
-
0
Закрытый
1.2 Что будем делать
0
0
-
0

2. Каталог товаров

42 урока
Закрытый
2.1 🗃️ 001 Введение в проект
0
0
-
0
Закрытый
2.2 🗃️ 002 Инициализация Go-модуля и Gin-сервер
0
0
-
0
Закрытый
2.3 🗃️ 003 Доменные сущности: BaseEntity, Brand, Category, CatalogI
0
0
-
0
Закрытый
2.4 🗃️ 004 Docker Compose и PostgreSQL
0
0
-
0
Закрытый
2.5 🗃️ 005 SQL-миграции и seed-данные
0
0
-
0
Закрытый
2.6 🗃️ 006 Репозиторий брендов (PostgreSQL)
0
0
-
0
Закрытый
2.7 🗃️ 007 Query handler: получение брендов
0
0
-
0
Закрытый
2.8 🗃️ 008 HTTP handler: эндпоинт брендов
0
0
-
0
Закрытый
2.9 🗃️ 009 Маршрутизация API v1: /brands
0
0
-
0
Закрытый
2.10 🗃️ 010 Конфигурация через .env и godotenv
0
0
-
0
Закрытый
2.11 🗃️ 011.1 [ТЗ] Самостоятельная работа
0
0
-
0
Закрытый
2.12 🗃️ 012 Репозиторий товаров с JOIN
0
0
-
0
Закрытый
2.13 🗃️ 013 Query handler: список товаров
0
0
-
0
Закрытый
2.14 🗃️ 014 HTTP handler: список товаров
0
0
-
0
Закрытый
2.15 🗃️ 015 Маршрут /catalog-items
0
0
-
0
Закрытый
2.16 🗃️ 016 Рефакторинг SQL-запросов
0
0
-
0
Закрытый
2.17 🗃️ 017 Репозиторий: получение товара по ID
0
0
-
0
Закрытый
2.18 🗃️ 018 Query handler: товар по ID
0
0
-
0
Закрытый
2.19 🗃️ 019 HTTP handler: товар по ID
0
0
-
0
Закрытый
2.20 🗃️ 020 Маршрут /catalog-items/
0
0
-
0
Закрытый
2.21 🗃️ 021 Поиск по названию (ILIKE)
0
0
-
0
Закрытый
2.22 🗃️ 022 Query handler: поиск по названию
0
0
-
0
Закрытый
2.23 🗃️ 023 HTTP handler: поиск по названию
0
0
-
0
Закрытый
2.24 🗃️ 024 Маршрут /catalog-items/title/:title
0
0
-
0
Закрытый
2.25 🗃️ 025 Репозиторий: создание товара (INSERT)
0
0
-
0
Закрытый
2.26 🗃️ 026 Command handler: создание товара
0
0
-
0
Закрытый
2.27 🗃️ 027 HTTP handler: POST-запрос
0
0
-
0
Закрытый
2.28 🗃️ 028 Маршрут POST /catalog-items
0
0
-
0
Закрытый
2.29 🗃️ 029 Репозиторий: обновление товара (UPDATE)
0
0
-
0
Закрытый
2.30 🗃️ 030 Command handler: обновление товара
0
0
-
0
Закрытый
2.31 🗃️ 031 HTTP handler: PUT-запрос
0
0
-
0
Закрытый
2.32 🗃️ 032 Маршрут PUT /catalog-items
0
0
-
0
Закрытый
2.33 🗃️ 033 [ТЗ] Удаление товара
0
0
-
0
Закрытый
2.34 🗃️ 034 [ТЗ] Поиск по бренду
0
0
-
0
Закрытый
2.35 🗃️ 035 Пагинация: Pagination и QueryArgs
0
0
-
0
Закрытый
2.36 🗃️ 036 Фильтрация и сортировка: введение
0
0
-
0
Закрытый
2.37 🗃️ 037 Query handler: пагинация (V2)
0
0
-
0
Закрытый
2.38 🗃️ 038 HTTP handler: пагинация (V2)
0
0
-
0
Закрытый
2.39 🗃️ 039 Маршрут GET /v2/catalog-items, тестирование пагинации
0
0
-
0
Закрытый
2.40 🗃️ 040 Автомиграции при старте (golang-migrate)
0
0
-
0
Закрытый
2.41 🗃️ 041 Финал каталога и итоговые правки
0
0
-
0
Закрытый
2.42 🗃️ Саморефлексия
0
0
-
0

3. Корзина покупок

23 урока
Закрытый
3.1 🗑️ 042 PostgreSQL для Basket в Docker Compose
0
0
-
0
Закрытый
3.2 🗑️ 043 Gin-сервер и health-check для Basket
0
0
-
0
Закрытый
3.3 🗑️ 044 Миграции Basket и автозапуск
0
0
-
0
Закрытый
3.4 🗑️ 045 Доменные модели: ShoppingCart, ShoppingCartItem
0
0
-
0
Закрытый
3.5 🗑️ 046 Репозиторий: сохранение корзины (транзакция)
0
0
-
0
Закрытый
3.6 🗑️ 047 Command handler: сохранение корзины
0
0
-
0
Закрытый
3.7 🗑️ 048 HTTP handler: POST /cart
0
0
-
0
Закрытый
3.8 🗑️ 049 Маршрутизация API v1: /cart
0
0
-
0
Закрытый
3.9 🗑️ 050 Инициализация слоёв и DI
0
0
-
0
Закрытый
3.10 🗑️ 051 Валидация моделей (go-playground/validator)
0
0
-
0
Закрытый
3.11 🗑️ 052 Middleware: централизованная обработка ошибок
0
0
-
0
Закрытый
3.12 🗑️ 053 Интеграция ErrorHandlerMiddleware
0
0
-
0
Закрытый
3.13 🗑️ 054 Репозиторий: получение корзины
0
0
-
0
Закрытый
3.14 🗑️ 055 Query handler: получение корзины
0
0
-
0
Закрытый
3.15 🗑️ 056 HTTP handler: GET /cart/:accountName
0
0
-
0
Закрытый
3.16 🗑️ 057 Маршрут GET /cart/:accountName
0
0
-
0
Закрытый
3.17 🗑️ 058 Кастомный тип NotFoundError
0
0
-
0
Закрытый
3.18 🗑️ 059 [ТЗ] Удаление корзины
0
0
-
0
Закрытый
3.19 🗑️ 060 Redis-контейнер для кэширования
0
0
-
0
Закрытый
3.20 🗑️ 061 RedisCartRepository
0
0
-
0
Закрытый
3.21 🗑️ 062 Интеграция Redis
0
0
-
0
Закрытый
3.22 🗑️ 063 Dockerfile и compose-prod для Basket
0
0
-
0
Закрытый
3.23 🗑️ Саморефлексия
0
0
-
0

4. Промоакции

31 урок
Закрытый
4.1 🏷️ 064 MySQL-контейнер для Promotion
0
0
-
0
Закрытый
4.2 🏷️ 065 Подключение к MySQL и автомиграции
0
0
-
0
Закрытый
4.3 🏷️ 066 Миграция: таблица promos и seed-данные
0
0
-
0
Закрытый
4.4 🏷️ 067 Protocol Buffers: greet.proto и кодогенерация
0
0
-
0
Закрытый
4.5 🏷️ 068 Реализация GreeterService (gRPC)
0
0
-
0
Закрытый
4.6 🏷️ 069 gRPC-сервер с graceful shutdown
0
0
-
0
Закрытый
4.7 🏷️ 070 gRPC Reflection и тестирование
0
0
-
0
Закрытый
4.8 🏷️ 071.1 gRPC метод Add (практика)
0
0
-
0
Закрытый
4.9 🏷️ 071.2 Proto-контракт
0
0
-
0
Закрытый
4.10 🏷️ 072 Доменная модель
0
0
-
0
Закрытый
4.11 🏷️ 073 Интерфейс PromotionRepository
0
0
-
0
Закрытый
4.12 🏷️ 074 Реализация FindByCatalogItem
0
0
-
0
Закрытый
4.13 🏷️ 075 Реализация обработчика promotion/queries
0
0
-
0
Закрытый
4.14 🏷️ 076 gRPC-сервис PromoService: заглушка
0
0
-
0
Закрытый
4.15 🏷️ 077 Реализация GetPromoByCatalogItem
0
0
-
0
Закрытый
4.16 🏷️ 078 Интеграция PromoService в main
0
0
-
0
Закрытый
4.17 🏷️ 079 Proto: CreatePromo RPC
0
0
-
0
Закрытый
4.18 🏷️ 080 Репозиторий: вставка промоакции
0
0
-
0
Закрытый
4.19 🏷️ 081 Command handler: создание промоакции
0
0
-
0
Закрытый
4.20 🏷️ 082 gRPC эндпоинт CreatePromo
0
0
-
0
Закрытый
4.21 🏷️ 083 Интеграция CreatePromoHandler и DI
0
0
-
0
Закрытый
4.22 🏷️ 084 Unique-ограничение и обработка дубликатов
0
0
-
0
Закрытый
4.23 🏷️ 085 UpdatePromo: полный цикл
0
0
-
0
Закрытый
4.24 🏷️ 086 [ТЗ] Удаление промоакции
0
0
-
0
Закрытый
4.25 🏷️ 087 gRPC-клиент в SaveCartHandler: применение скидок
0
0
-
0
Закрытый
4.26 🏷️ 088 Интеграция gRPC-клиента в Basket
0
0
-
0
Закрытый
4.27 🏷️ 089 Dockerfile и compose-prod для Promotion
0
0
-
0
Закрытый
4.28 🏷️ 090.1 Проблема: БД не готова при старте
0
0
-
0
Закрытый
4.29 🏷️ 090.2 Утилита WaitForDB с retry-логикой
0
0
-
0
Закрытый
4.30 🏷️ 091 Интеграция WaitForDB во все сервисы
0
0
-
0
Закрытый
4.31 🏷️ Саморефлексия
0
0
-
0

5. Оформление заказов

22 урока
Закрытый
5.1 🚚 092 PostgreSQL для Checkout и миграции
0
0
-
0
Закрытый
5.2 🚚 093 Конфигурация и запуск миграций
0
0
-
0
Закрытый
5.3 🚚 094 Gin-сервер и health-check для Checkout
0
0
-
0
Закрытый
5.4 🚚 095 Доменная модель: Order, Value Objects, Enums
0
0
-
0
Закрытый
5.5 🚚 096 Интерфейс и реализация OrderRepository
0
0
-
0
Закрытый
5.6 🚚 097 Репозиторий: получение заказа с позициями
0
0
-
0
Закрытый
5.7 🚚 098 Репозиторий: поиск заказов по аккаунту
0
0
-
0
Закрытый
5.8 🚚 099 Репозиторий: создание заказа (транзакция)
0
0
-
0
Закрытый
5.9 🚚 100 Query handler: заказ по ID
0
0
-
0
Закрытый
5.10 🚚 101 HTTP handler: GET /orders/:id
0
0
-
0
Закрытый
5.11 🚚 103 [ТЗ] Заказы по аккаунту
0
0
-
0
Закрытый
5.12 🚚 104 RabbitMQ-контейнер в Docker Compose
0
0
-
0
Закрытый
5.13 🚚 105 Структура messaging: заготовки
0
0
-
0
Закрытый
5.14 🚚 107 RabbitMQ Publisher: exchange, queue, publish
0
0
-
0
Закрытый
5.15 🚚 108 Command handler: CheckoutCart и публикация события
0
0
-
0
Закрытый
5.16 🚚 109 HTTP handler: POST /cart/checkout
0
0
-
0
Закрытый
5.17 🚚 110 Маршрут checkout и интеграция RabbitMQ
0
0
-
0
Закрытый
5.18 🚚 112 ProcessOrderSubmissionHandler: создание заказа
0
0
-
0
Закрытый
5.19 🚚 113 OrderSubmittedConsumer: маппинг события в команду
0
0
-
0
Закрытый
5.20 🚚 114 Интеграция consumer в Checkout с graceful shutdown
0
0
-
0
Закрытый
5.21 🚚 115 Dockerfile и compose-prod для Checkout
0
0
-
0
Закрытый
5.22 🚚 Саморефлексия
0
0
-
0

6. Мониторинг и инфраструктура

16 уроков
Закрытый
6.1 📊 116.1 Введение в Prometheus и Grafana
0
0
-
0
Закрытый
6.2 📊 116.2 Пакет metrics: HTTP, gRPC, DB, RabbitMQ
0
0
-
0
Закрытый
6.3 📊 117 Gin Middleware для Prometheus-метрик
0
0
-
0
Закрытый
6.4 📊 118 gRPC-интерцепторы метрик
0
0
-
0
Закрытый
6.5 📊 119 Метрики в Catalog-сервисе
0
0
-
0
Закрытый
6.6 📊 120 Метрики в Promotion-сервисе
0
0
-
0
Закрытый
6.7 📊 121 Конфигурация Prometheus (prometheus.yml)
0
0
-
0
Закрытый
6.8 📊 122 Datasource Grafana для Prometheus
0
0
-
0
Закрытый
6.9 📊 123 Prometheus и Grafana в compose-prod
0
0
-
0
Закрытый
6.10 📊 124.1 Демо: дашборды Prometheus и Grafana
0
0
-
0
Закрытый
6.11 📊 124.2 Grafana-дашборды: Catalog и Promotion
0
0
-
0
Закрытый
6.12 📊 125 Нагрузочное тестирование с k6 (HTTP)
0
0
-
0
Закрытый
6.13 📊 126 Тюнинг пула соединений PostgreSQL
0
0
-
0
Закрытый
6.14 📊 127 k6: нагрузочный тест gRPC
0
0
-
0
Закрытый
6.15 📊 128 Portainer: управление контейнерами
1
1
-
0
Закрытый
6.16 📊 Саморефлексия
0
0
-
0

7. Окончание

1 урок
Закрытый
7.1 Итоги
1
0
935м 19с
0