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

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

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

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

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

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

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

Первые шаги

2 урока
1. Старт
2. Что будем делать

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

42 урока
1. 🗃️ 001 Введение в проект
2. 🗃️ 002 Инициализация Go-модуля и Gin-сервер
3. 🗃️ 003 Доменные сущности: BaseEntity, Brand, Category, CatalogI
4. 🗃️ 004 Docker Compose и PostgreSQL
5. 🗃️ 005 SQL-миграции и seed-данные
6. 🗃️ 006 Репозиторий брендов (PostgreSQL)
7. 🗃️ 007 Query handler: получение брендов
8. 🗃️ 008 HTTP handler: эндпоинт брендов
9. 🗃️ 009 Маршрутизация API v1: /brands
10. 🗃️ 010 Конфигурация через .env и godotenv
11. 🗃️ 011.1 [ТЗ] Самостоятельная работа
12. 🗃️ 012 Репозиторий товаров с JOIN
13. 🗃️ 013 Query handler: список товаров
14. 🗃️ 014 HTTP handler: список товаров
15. 🗃️ 015 Маршрут /catalog-items
16. 🗃️ 016 Рефакторинг SQL-запросов
17. 🗃️ 017 Репозиторий: получение товара по ID
18. 🗃️ 018 Query handler: товар по ID
19. 🗃️ 019 HTTP handler: товар по ID
20. 🗃️ 020 Маршрут /catalog-items/
21. 🗃️ 021 Поиск по названию (ILIKE)
22. 🗃️ 022 Query handler: поиск по названию
23. 🗃️ 023 HTTP handler: поиск по названию
24. 🗃️ 024 Маршрут /catalog-items/title/:title
25. 🗃️ 025 Репозиторий: создание товара (INSERT)
26. 🗃️ 026 Command handler: создание товара
27. 🗃️ 027 HTTP handler: POST-запрос
28. 🗃️ 028 Маршрут POST /catalog-items
29. 🗃️ 029 Репозиторий: обновление товара (UPDATE)
30. 🗃️ 030 Command handler: обновление товара
31. 🗃️ 031 HTTP handler: PUT-запрос
32. 🗃️ 032 Маршрут PUT /catalog-items
33. 🗃️ 033 [ТЗ] Удаление товара
34. 🗃️ 034 [ТЗ] Поиск по бренду
35. 🗃️ 035 Пагинация: Pagination и QueryArgs
36. 🗃️ 036 Фильтрация и сортировка: введение
37. 🗃️ 037 Query handler: пагинация (V2)
38. 🗃️ 038 HTTP handler: пагинация (V2)
39. 🗃️ 039 Маршрут GET /v2/catalog-items, тестирование пагинации
40. 🗃️ 040 Автомиграции при старте (golang-migrate)
41. 🗃️ 041 Финал каталога и итоговые правки
42. 🗃️ Саморефлексия

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

23 урока
1. 🗑️ 042 PostgreSQL для Basket в Docker Compose
2. 🗑️ 043 Gin-сервер и health-check для Basket
3. 🗑️ 044 Миграции Basket и автозапуск
4. 🗑️ 045 Доменные модели: ShoppingCart, ShoppingCartItem
5. 🗑️ 046 Репозиторий: сохранение корзины (транзакция)
6. 🗑️ 047 Command handler: сохранение корзины
7. 🗑️ 048 HTTP handler: POST /cart
8. 🗑️ 049 Маршрутизация API v1: /cart
9. 🗑️ 050 Инициализация слоёв и DI
10. 🗑️ 051 Валидация моделей (go-playground/validator)
11. 🗑️ 052 Middleware: централизованная обработка ошибок
12. 🗑️ 053 Интеграция ErrorHandlerMiddleware
13. 🗑️ 054 Репозиторий: получение корзины
14. 🗑️ 055 Query handler: получение корзины
15. 🗑️ 056 HTTP handler: GET /cart/:accountName
16. 🗑️ 057 Маршрут GET /cart/:accountName
17. 🗑️ 058 Кастомный тип NotFoundError
18. 🗑️ 059 [ТЗ] Удаление корзины
19. 🗑️ 060 Redis-контейнер для кэширования
20. 🗑️ 061 RedisCartRepository
21. 🗑️ 062 Интеграция Redis
22. 🗑️ 063 Dockerfile и compose-prod для Basket
23. 🗑️ Саморефлексия

Промоакции

31 урок
1. 🏷️ 064 MySQL-контейнер для Promotion
2. 🏷️ 065 Подключение к MySQL и автомиграции
3. 🏷️ 066 Миграция: таблица promos и seed-данные
4. 🏷️ 067 Protocol Buffers: greet.proto и кодогенерация
5. 🏷️ 068 Реализация GreeterService (gRPC)
6. 🏷️ 069 gRPC-сервер с graceful shutdown
7. 🏷️ 070 gRPC Reflection и тестирование
8. 🏷️ 071.1 gRPC метод Add (практика)
9. 🏷️ 071.2 Proto-контракт
10. 🏷️ 072 Доменная модель
11. 🏷️ 073 Интерфейс PromotionRepository
12. 🏷️ 074 Реализация FindByCatalogItem
13. 🏷️ 075 Реализация обработчика promotion/queries
14. 🏷️ 076 gRPC-сервис PromoService: заглушка
15. 🏷️ 077 Реализация GetPromoByCatalogItem
16. 🏷️ 078 Интеграция PromoService в main
17. 🏷️ 079 Proto: CreatePromo RPC
18. 🏷️ 080 Репозиторий: вставка промоакции
19. 🏷️ 081 Command handler: создание промоакции
20. 🏷️ 082 gRPC эндпоинт CreatePromo
21. 🏷️ 083 Интеграция CreatePromoHandler и DI
22. 🏷️ 084 Unique-ограничение и обработка дубликатов
23. 🏷️ 085 UpdatePromo: полный цикл
24. 🏷️ 086 [ТЗ] Удаление промоакции
25. 🏷️ 087 gRPC-клиент в SaveCartHandler: применение скидок
26. 🏷️ 088 Интеграция gRPC-клиента в Basket
27. 🏷️ 089 Dockerfile и compose-prod для Promotion
28. 🏷️ 090.1 Проблема: БД не готова при старте
29. 🏷️ 090.2 Утилита WaitForDB с retry-логикой
30. 🏷️ 091 Интеграция WaitForDB во все сервисы
31. 🏷️ Саморефлексия

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

22 урока
1. 🚚 092 PostgreSQL для Checkout и миграции
2. 🚚 093 Конфигурация и запуск миграций
3. 🚚 094 Gin-сервер и health-check для Checkout
4. 🚚 095 Доменная модель: Order, Value Objects, Enums
5. 🚚 096 Интерфейс и реализация OrderRepository
6. 🚚 097 Репозиторий: получение заказа с позициями
7. 🚚 098 Репозиторий: поиск заказов по аккаунту
8. 🚚 099 Репозиторий: создание заказа (транзакция)
9. 🚚 100 Query handler: заказ по ID
10. 🚚 101 HTTP handler: GET /orders/:id
11. 🚚 103 [ТЗ] Заказы по аккаунту
12. 🚚 104 RabbitMQ-контейнер в Docker Compose
13. 🚚 105 Структура messaging: заготовки
14. 🚚 107 RabbitMQ Publisher: exchange, queue, publish
15. 🚚 108 Command handler: CheckoutCart и публикация события
16. 🚚 109 HTTP handler: POST /cart/checkout
17. 🚚 110 Маршрут checkout и интеграция RabbitMQ
18. 🚚 112 ProcessOrderSubmissionHandler: создание заказа
19. 🚚 113 OrderSubmittedConsumer: маппинг события в команду
20. 🚚 114 Интеграция consumer в Checkout с graceful shutdown
21. 🚚 115 Dockerfile и compose-prod для Checkout
22. 🚚 Саморефлексия

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

16 уроков
1. 📊 116.1 Введение в Prometheus и Grafana
2. 📊 116.2 Пакет metrics: HTTP, gRPC, DB, RabbitMQ
3. 📊 117 Gin Middleware для Prometheus-метрик
4. 📊 118 gRPC-интерцепторы метрик
5. 📊 119 Метрики в Catalog-сервисе
6. 📊 120 Метрики в Promotion-сервисе
7. 📊 121 Конфигурация Prometheus (prometheus.yml)
8. 📊 122 Datasource Grafana для Prometheus
9. 📊 123 Prometheus и Grafana в compose-prod
10. 📊 124.1 Демо: дашборды Prometheus и Grafana
11. 📊 124.2 Grafana-дашборды: Catalog и Promotion
12. 📊 125 Нагрузочное тестирование с k6 (HTTP)
13. 📊 126 Тюнинг пула соединений PostgreSQL
14. 📊 127 k6: нагрузочный тест gRPC
15. 📊 128 Portainer: управление контейнерами
16. 📊 Саморефлексия

Окончание

1 урок
1. Итоги