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

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

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

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

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

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

Разделы в курсе «Go: микросервисная архитектура на реальном проекте» 7 разделов Уроки в курсе «Go: микросервисная архитектура на реальном проекте» 137 уроков Тесты в курсе «Go: микросервисная архитектура на реальном проекте» 5 тестов Задачи в курсе «Go: микросервисная архитектура на реальном проекте» 5 задач Время прохождения курса «Go: микросервисная архитектура на реальном проекте» 18 ч. Последнее обновление курса «Go: микросервисная архитектура на реальном проекте» обн. 6 октября 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. Итоги ↗