Мы используем 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 г.

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

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

GOLANG NINJA. Искусство работы с ошибками
Курс не имеет дедлайнов, можно проходить в удобном для вас темпе
GOLANG NINJA. Искусство работы с ошибками

Данный курс является первой частью специализации "Искусство работы с ошибками и безмолвной паники в Go". Что такого особенного можно рассказать про ошибки? Мы считаем, что грамотн…

Онлайн9 занятийПродвинутый
22 529 ₽
Backend разработчик Golang
Backend разработчик Golang

Освойте Backend-разработку на Golang с нуля. Научитесь создавать высоконагруженные микросервисы, распределённые системы, работать с Docker, Kubernetes. Язык Google, Uber, Яндекс с…

Онлайн
Персональный наставникОбратная связь
Цена по запросуот 5 000 ₽/мес
Go (GoLang) - Быстрый старт
Go (GoLang) - Быстрый старт

Для разработчиков, которые хотят перейти на Go (GoLang) с другого языка. Курс максимально компактный, в тоже время включает в себя все необходимые темы.

Онлайн5 занятий
550 ₽
Практический Go: от первых шагов до автоматизации инфраструктуры
270 ак. ч., 6 мес. длительность
Практический Go: от первых шагов до автоматизации инфраструктуры

Освойте Go как инструмент для автоматизации — от написания простых CLI-утилит до создания сервисов и микросервисов под реальные инженерные задачи.На курсе вы будете: *писать собст…

Онлайн16 занятий
Обратная связьПрактические занятия+1
150 000 ₽
Начать без затрат

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

DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс
Бесплатно
DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс

Курс «DEV2. Разработка серверной части приложений PostgreSQL 16. Расширенный курс»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист». Стоимость обу…

Онлайн
Бесплатно
Программирование на Java. Уровень 3. Разработка клиент - серверных приложений
Бесплатно
Программирование на Java. Уровень 3. Разработка клиент - серверных приложений

Курс «Программирование на Java. Уровень 3. Разработка клиент-серверных приложений»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист». Стоимость обу…

Онлайн
Бесплатно
Сайт на NodeJS
Бесплатно1 академических часов
Сайт на NodeJS

В курсе напишем сайт на NodeJS который будет генерировать картинки с помощью openai apiПока я готовлю большое количество материала на 300к подписчиков ловите лайтовый ролик про ра…

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

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

Онлайн5 занятий
Бесплатно
Асинхронное программирование на основе веб - фреймворка FastAPI
Бесплатно
Асинхронное программирование на основе веб - фреймворка FastAPI

Курс «Асинхронное программирование на основе веб-фреймворка FastAPI»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист». Стоимость обучения. Програм…

Онлайн
Бесплатно