Мы используем cookie для стабильной работы сервиса. Подробнее

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

ФорматОнлайн
Объём7 занятий
О курсе

Подробнее

Важно Для прохождения этого курса вам потребуется браузер Mozilla Firefox или Safari Цель курса Научить вас проектировать и разрабатывать микросервисные системы на Go — не на синтетических примерах, а на реальном проекте, который растёт от пустого репозитория до готовой к продакшену системы с мониторингом. Почему именно этот курс Большинство курсов по микросервисам показывают готовый результат и объясняют, как он устроен. Здесь всё наоборот: вы проходите весь путь разработки — от первого go mod init до Grafana-дашбордов. Каждое архитектурное решение появляется в тот момент, когда оно действительно нужно, а не потому что «так принято». Что вы построите Микросервисный маркетплейс из четырёх независимых сервисов: Каталог товаров — REST API на Gin, PostgreSQL, пагинация и фильтрация Корзина покупок — Redis-кэширование, gRPC-клиент для скидок, публикация событий в RabbitMQ Промоакции — gRPC-сервер, MySQL, Protocol Buffers Оформление заказов — обработка событий из RabbitMQ, богатая доменная модель с Value Objects и агрегатами Плюс полная инфраструктура: Docker Compose для dev и prod, Prometheus-метрики, Grafana-дашборды, нагрузочные тесты k6. Структура курса Курс состоит из 5 модулей и 128 уроков: Модуль 1. Каталог товаров Модуль 2. Корзина покупок Модуль 3. Промоакции Модуль 4. Оформление заказов Модуль 5. Мониторинг и инфраструктура Всего более 140 уроков, почти 18 часов видео Особенности Каждый урок — конкретный шаг разработки: добавили слой, написали код, запустили, проверили Есть задания для самостоятельной работы (ТЗ) с последующим разбором решения Dependency Injection реализован вручную, без магических фреймворков — вы понимаете каждую связь Используются разные СУБД (PostgreSQL и MySQL), разные протоколы (REST, gRPC) и разные способы взаимодействия (синхронный и асинхронный) — чтобы показать реальную картину микросервисной разработки
Требования

Что нужно для старта

  • - Уверенное владение основами 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 и мониторингом
Содержание

Программа курса

7 занятий
ТемаЧто внутри
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Окончание

- Итоги

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Окончание

- Итоги

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Go: микросервисная архитектура на реальном проекте» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 7 сентября 2026 г.

Продолжить выбор

Похожие курсы

Комплект курсов «Go-программист с нуля» и «Курс DevOps-инженер с нуля»
−17%
Комплект курсов «Go-программист с нуля» и «Курс DevOps-инженер с нуля»

«Go-программист с нуля»: Стань разработчиком на Golang - одном из самых востребованных языков для backend! Научись разрабатывать действительно полезные для бизнеса решения и освой…

ОнлайнНачальный
34 775 ₽−17%
28 860 ₽Рассрочка на 12 мес.
Python-разработчик с нуля
−65%4 месяца
Python-разработчик с нуля

На Python создают веб-приложения и нейросети, проводят научные вычисления и автоматизируют процессы. Вы научитесь программировать на востребованном языке с нуля, напишете Telegram…

Онлайн
197 143 ₽−65%
69 000 ₽от 3 833 ₽/мес на 18 мес.
Go: без воды | Lite-версия
Go: без воды | Lite-версия

Практический курс Go для разработчиков, которые хотят освоить язык без воды — только идиоматичный код и реальные проекты. У этого курса есть бесплатная теоретрическая версия | узн…

Онлайн17 занятий
990 ₽
Продвинутый Golang
Продвинутый Golang

Этот курс подойдёт тем, кто уже знает основы Golang и хочет начать проектировать и писать полноценные API на Golang с базой данных Postgres и популярной ORM - Gorm. Кроме того кур…

Онлайн15 занятий
3 999 ₽
Гуру разработки на Django
4 часа
Гуру разработки на Django

Создайте 4 крутых веб-сайта, изучите Back и Frond End веб разработку, сверстайте сайты с HTML, CSS и Bootstrap. В курсе, больше сосредоточенном на бекенде, вы создадите интернет-м…

Онлайн1 занятий
2 890 ₽
GOLANG NINJA. Мастерство модулей
Курс не имеет дедлайнов, можно проходить в удобном для вас темпе
GOLANG NINJA. Мастерство модулей

КУРС В ПРОЦЕССЕ РАЗРАБОТКИ 👉 КУРС В ПРОЦЕССЕ РАЗРАБОТКИ. ПЕРВЫЙ МОДУЛЬ ОТКРЫТ В ПУБЛИЧНЫЙ ДОСТУП. ВЫ МОЖЕТЕ ПРОЙТИ ЕГО БЕСПЛАТНО, А МОЖЕТЕ ПРИОБРЕСТИ КУРС, ПОКА ЦЕНА СНИЖЕНА 👈 ---…

Онлайн5 занятий
8 970 ₽
Начать без затрат

Бесплатные курсы

Thank Go! Знакомство с Golang
Бесплатно
Thank Go! Знакомство с Golang

Go — уникальный язык. Простой до примитивности, но с большой и продуманной стандартной библиотекой. Статически типизирован, но отлично подходит для небольших утилит. Достаточно ни…

Онлайн3 занятий
Бесплатно
Golang бесплатный курс с нуля
Бесплатно50 часов
Golang бесплатный курс с нуля

Golang с нуля Курс "Golang с нуля" является идеальным выбором для всех, кто хочет начать свой путь в мире разработки программного обеспечения с использованием Go. Независимо от ва…

Онлайн5 занятий
Бесплатно
Go (Golang) - первое знакомство
Бесплатно
Go (Golang) - первое знакомство

Это курс по языку программирования Go (Golang) для самых маленьких. Почему? Потому что показаны будут прежде всего азы (хотя и не только), при этом в достаточно краткой форме. Но…

Онлайн9 занятий
Бесплатно