Подробнее
Что нужно для старта
- - Уверенное владение основами Go: переменные, функции, структуры, интерфейсы, горутины, пакеты
- - Базовое понимание SQL (SELECT, INSERT, UPDATE, DELETE, JOIN)
- - Установленный Docker и Docker Compose
- - Опыт работы с командной строкой (терминал)
- - Понимание HTTP (методы GET, POST, PUT, DELETE, коды ответов) на базовом уровне
- - Опыт коммерческой разработки НЕ требуется — достаточно пройденного базового курса по Go
Что вы получите
- Проектировать микросервисную архитектуру на Go с нуля
- Применять Clean Architecture и CQRS в реальном проекте
- Разрабатывать REST API с использованием фреймворка Gin
- Строить gRPC-сервисы и настраивать межсервисное взаимодействие
- Реализовывать событийную архитектуру через RabbitMQ
- Внедрять кэширование с Redis (паттерн Decorator)
- Работать с несколькими СУБД: PostgreSQL и MySQL
- Применять паттерны DDD: Entity, Value Object, Aggregate
- Управлять миграциями баз данных через golang-migrate
- Настраивать мониторинг с Prometheus и визуализацию в Grafana
- Проводить нагрузочное тестирование с помощью k6
- Контейнеризировать микросервисы через Docker и Docker Compose
- Организовывать Dependency Injection без фреймворков
- Реализовывать валидацию, middleware и централизованную обработку ошибок
Для кого этот курс
- - Go-разработчики, которые хотят перейти от монолитов к микросервисам
- - Backend-разработчики на других языках (Python, Java, C#), изучающие Go и желающие сразу освоить его в контексте промышленной архитектуры
- - Разработчики, которые знают основы Go, но не понимают, как организовать большой проект: куда класть файлы, как разделять слои, где проходят границы сервисов
- - Те, кто читал про Clean Architecture, CQRS и DDD, но не применял эти подходы на практике
- - Разработчики, которые хотят добавить в резюме реальный микросервисный проект с gRPC, RabbitMQ и мониторингом
Программа курса
- Go-cтарт
- Что будем делать: Marketplace-Go — обзор проекта
Подробности будут доступны на странице курса
- 🗑️ 042 PostgreSQL для Basket в Docker Compose
- 🗑️ 043 Gin-сервер и health-check для Basket
- 🗑️ 044 Миграции Basket и автозапуск
- 🗑️ 045 Доменные модели: ShoppingCart, ShoppingCartItem
- 🗑️ 046 Репозиторий: сохранение корзины (транзакция)
- 🗑️ 047 Command handler: сохранение корзины
- 🗑️ 048 HTTP handler: POST /cart
- 🗑️ 049 Маршрутизация API v1: /cart
- 🗑️ 050 Инициализация слоёв и DI
- 🗑️ 051 Валидация моделей (go-playground/validator)
- 🗑️ 052 Middleware: централизованная обработка ошибок
- 🗑️ 053 Интеграция ErrorHandlerMiddleware
- 🗑️ 054 Репозиторий: получение корзины
- 🗑️ 055 Query handler: получение корзины
- 🗑️ 056 HTTP handler: GET /cart/:accountName
- 🗑️ 057 Маршрут GET /cart/:accountName
- 🗑️ 058 Кастомный тип NotFoundError
- 🗑️ 059 [ТЗ] Удаление корзины
- 🗑️ 060 Redis-контейнер для кэширования
- 🗑️ 061 RedisCartRepository
- 🗑️ 062 Интеграция Redis
- 🗑️ 063 Dockerfile и compose-prod для Basket
- 🗑️ Саморефлексия
Подробности будут доступны на странице курса
- 🚚 092 PostgreSQL для Checkout и миграции
- 🚚 093 Конфигурация и запуск миграций
- 🚚 094 Gin-сервер и health-check для Checkout
- 🚚 095 Доменная модель: Order, Value Objects, Enums
- 🚚 096 Интерфейс и реализация OrderRepository
- 🚚 097 Репозиторий: получение заказа с позициями
- 🚚 098 Репозиторий: поиск заказов по аккаунту
- 🚚 099 Репозиторий: создание заказа (транзакция)
- 🚚 100 Query handler: заказ по ID
- 🚚 101 HTTP handler: GET /orders/:id
- 🚚 103 [ТЗ] Заказы по аккаунту
- 🚚 104 RabbitMQ-контейнер в Docker Compose
- 🚚 105 Структура messaging: заготовки
- 🚚 107 RabbitMQ Publisher: exchange, queue, publish
- 🚚 108 Command handler: CheckoutCart и публикация события
- 🚚 109 HTTP handler: POST /cart/checkout
- 🚚 110 Маршрут checkout и интеграция RabbitMQ
- 🚚 112 ProcessOrderSubmissionHandler: создание заказа
- 🚚 113 OrderSubmittedConsumer: маппинг события в команду
- 🚚 114 Интеграция consumer в Checkout с graceful shutdown
- 🚚 115 Dockerfile и compose-prod для Checkout
- 🚚 Саморефлексия
- 📊 116.1 Введение в Prometheus и Grafana
- 📊 116.2 Пакет metrics: HTTP, gRPC, DB, RabbitMQ
- 📊 117 Gin Middleware для Prometheus-метрик
- 📊 118 gRPC-интерцепторы метрик
- 📊 119 Метрики в Catalog-сервисе
- 📊 120 Метрики в Promotion-сервисе
- 📊 121 Конфигурация Prometheus (prometheus.yml)
- 📊 122 Datasource Grafana для Prometheus
- 📊 123 Prometheus и Grafana в compose-prod
- 📊 124.1 Демо: дашборды Prometheus и Grafana
- 📊 124.2 Grafana-дашборды: Catalog и Promotion
- 📊 125 Нагрузочное тестирование с k6 (HTTP)
- 📊 126 Тюнинг пула соединений PostgreSQL
- 📊 127 k6: нагрузочный тест gRPC
- 📊 128 Portainer: управление контейнерами
- 📊 Саморефлексия
- Итоги
01Первые шаги
- Go-cтарт
- Что будем делать: Marketplace-Go — обзор проекта
02Каталог товаров
03Корзина покупок
- 🗑️ 042 PostgreSQL для Basket в Docker Compose
- 🗑️ 043 Gin-сервер и health-check для Basket
- 🗑️ 044 Миграции Basket и автозапуск
- 🗑️ 045 Доменные модели: ShoppingCart, ShoppingCartItem
- 🗑️ 046 Репозиторий: сохранение корзины (транзакция)
- 🗑️ 047 Command handler: сохранение корзины
- 🗑️ 048 HTTP handler: POST /cart
- 🗑️ 049 Маршрутизация API v1: /cart
- 🗑️ 050 Инициализация слоёв и DI
- 🗑️ 051 Валидация моделей (go-playground/validator)
- 🗑️ 052 Middleware: централизованная обработка ошибок
- 🗑️ 053 Интеграция ErrorHandlerMiddleware
- 🗑️ 054 Репозиторий: получение корзины
- 🗑️ 055 Query handler: получение корзины
- 🗑️ 056 HTTP handler: GET /cart/:accountName
- 🗑️ 057 Маршрут GET /cart/:accountName
- 🗑️ 058 Кастомный тип NotFoundError
- 🗑️ 059 [ТЗ] Удаление корзины
- 🗑️ 060 Redis-контейнер для кэширования
- 🗑️ 061 RedisCartRepository
- 🗑️ 062 Интеграция Redis
- 🗑️ 063 Dockerfile и compose-prod для Basket
- 🗑️ Саморефлексия
04Промоакции
05Оформление заказов
- 🚚 092 PostgreSQL для Checkout и миграции
- 🚚 093 Конфигурация и запуск миграций
- 🚚 094 Gin-сервер и health-check для Checkout
- 🚚 095 Доменная модель: Order, Value Objects, Enums
- 🚚 096 Интерфейс и реализация OrderRepository
- 🚚 097 Репозиторий: получение заказа с позициями
- 🚚 098 Репозиторий: поиск заказов по аккаунту
- 🚚 099 Репозиторий: создание заказа (транзакция)
- 🚚 100 Query handler: заказ по ID
- 🚚 101 HTTP handler: GET /orders/:id
- 🚚 103 [ТЗ] Заказы по аккаунту
- 🚚 104 RabbitMQ-контейнер в Docker Compose
- 🚚 105 Структура messaging: заготовки
- 🚚 107 RabbitMQ Publisher: exchange, queue, publish
- 🚚 108 Command handler: CheckoutCart и публикация события
- 🚚 109 HTTP handler: POST /cart/checkout
- 🚚 110 Маршрут checkout и интеграция RabbitMQ
- 🚚 112 ProcessOrderSubmissionHandler: создание заказа
- 🚚 113 OrderSubmittedConsumer: маппинг события в команду
- 🚚 114 Интеграция consumer в Checkout с graceful shutdown
- 🚚 115 Dockerfile и compose-prod для Checkout
- 🚚 Саморефлексия
06Мониторинг и инфраструктура
- 📊 116.1 Введение в Prometheus и Grafana
- 📊 116.2 Пакет metrics: HTTP, gRPC, DB, RabbitMQ
- 📊 117 Gin Middleware для Prometheus-метрик
- 📊 118 gRPC-интерцепторы метрик
- 📊 119 Метрики в Catalog-сервисе
- 📊 120 Метрики в Promotion-сервисе
- 📊 121 Конфигурация Prometheus (prometheus.yml)
- 📊 122 Datasource Grafana для Prometheus
- 📊 123 Prometheus и Grafana в compose-prod
- 📊 124.1 Демо: дашборды Prometheus и Grafana
- 📊 124.2 Grafana-дашборды: Catalog и Promotion
- 📊 125 Нагрузочное тестирование с k6 (HTTP)
- 📊 126 Тюнинг пула соединений PostgreSQL
- 📊 127 k6: нагрузочный тест gRPC
- 📊 128 Portainer: управление контейнерами
- 📊 Саморефлексия
07Окончание
- Итоги
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Go: микросервисная архитектура на реальном проекте» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 7 сентября 2026 г.

Stepik 














