Ежедневно, с 8:30 до 22:30
Предзаказ
2230

Микросервисы как в Bigtech-компаниях 2.0

Средняя оценка 0.0 из 5 на основании 0 голосов (0)
1 0
0
7000 ₽
59900 ₽
-88%
Кэшбэк: 5% (350 ₽)
Курс будет выдан в течение 1-3 часов после оплаты.
Категории:

Научись разрабатывать высокопроизводительные, масштабируемые микросервисы, такие как ВК, Yandex, OZON, СБЕР, и увеличь свои шансы на трудоустройство в BigTech или повышение грейда.

Обучение подойдет для Junior и Middle backend-разработчиков. Для курса нужно:

  • Знать основы Golang — все практические примеры будут на нем
  • Уметь пользоваться git, чтобы качественно работать с кодовой базой

Курс адаптирован под частые проблемы backend-a, которые встречаются на работе. Вся подкапотная микросервисов в одном обучении. 8 недель беспощадного кодинга.

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

Неделя 1 HTTP и gRPC: основы сетевого взаимодействия микросервисов

С первой недели начнёшь собирать свой проект на микросервисной архитектуре. На практике освоишь два ключевых способа общения между сервисами — через HTTP и gRPC. Будешь писать API, запускать серверы, подключать клиентов и связывать между собой отдельные сервисы

Блок 1. HTTP в Go: от простого сервера до автогенерации API

  • Что такое HTTP?
  • HTTP/1.1, HTTP/2 и HTTP/3 — зачем придумали и какие проблемы решают
  • Что такое REST API и какие у него ограничения
  • Создаём простой HTTP-сервер на chi
  • Первая middleware на Go: как расширить поведение ручек сервера
  • Что такое OpenAPI и как описывать схемы
  • Генерация HTTP API на основе OpenAPI схемы

Блок 2. gRPC в Go: быстрый и типобезопасный способ общения сервисов

  • Как устроены gRPC и protobuf, где они применяются и в чём их сила
  • Пишем первый .proto-файл, учимся подключать зависимости
  • Генерация Go-кода через buf
  • Запускаем gRPC-сервер и подключаем к нему клиента
  • Что такое обратная совместимость и как её проверять при изменениях контракта (buf-breaking)
  • gRPC-Gateway: добавляем HTTP-интерфейс к gRPC-сервису
  • Автогенерация Swagger-описания из .proto
  • Валидация входящих данных через плагин protoc-gen-validate
  • Пишем свой первый gRPC-интерцептор

Неделя 2 Архитектура и тесты: строим проект по-взрослому

На этой неделе ты перестанешь писать «всё в одном файле» и начнёшь проектировать микросервисы по слоям: API, сервис, репозиторий. Освоишь архитектурные подходы и научишься писать unit-тесты — не формально, а так, чтобы реально ловить баги и не бояться менять код

Блок 3. Архитектура проекта на Go: чисто, понятно, гибко

  • Что такое архитектура и зачем она нужна (луковая, гексагональная, чистая — простыми словами)
  • Какие бывают слои и как они связаны: API, сервис, репозиторий, клиенты
  • Как структурировать проект на Go
  • Создаём repository-слой: работа с базой через интерфейсы
  • Пишем service-логику: бизнес-правила без привязки к API
  • Разбираемся с API-слоем: как принимать и отдавать данные
  • Добавляем клиентские обёртки: например, вызов Payment Service из Order Service

Блок 4. Unit-тестирование сервисов на Go: тесты, которые работают

  • Что такое юнит-тест и как он отличается от интеграционного
  • Тестируем простые функции: начинаем с базы
  • Как тестировать сервисную логику: используем тестовые сьюты
  • Как работать с моками: подключаем mockery и подменяем зависимости
  • Как замокать базу и зачем это может быть удобно
  • Выводим покрытие в README.md — пусть CI не зря работает

Неделя 3 Базы данных и Docker: сервисы обретают долговременное хранилище

Теперь твои сервисы начнут работать с настоящими базами данных — PostgreSQL и MongoDB. А чтобы не разворачивать всё вручную, ты научишься поднимать инфраструктуру через Docker Compose: базы, окружение, зависимости. Пока без упаковки самих сервисов — только окружение, как в настоящем проекте

Блок 5. Docker и Docker Compose: инфраструктура как код

  • Что такое Docker и зачем он нужен
  • Пишем свой первый Dockerfile
  • Что такое docker-compose и как с его помощью поднимать инфраструктуру
  • Поднимаем базу данных и настраиваем сетевое взаимодействие между контейнерами

Блок 6. Работа с PostgreSQL в Go: SQL, но по-человечески

  • Зачем микросервисам нужна реляционная база — и почему PostgreSQL
  • Запускаем PostgreSQL через Docker Compose
  • Создаём и накатываем миграции с помощью goose
  • Пишем SQL-запросы через pgx и squirrel
  • Интегрируем PostgreSQL в архитектуру сервиса: репозиторий, модели, конверторы

Блок 7. Работа с MongoDB в Go: когда не нужен SQL

  • Что такое MongoDB и где она выигрывает у реляционных решений
  • Поднимаем MongoDB через Docker Compose и осваиваем базовые CRUD-операции
  • Интеграция MongoDB в структуру проекта: структура, запросы, подходы

Неделя 4 Конфигурация, DI контейнер и интеграционные тесты: собираем всё воедино

На этой неделе ты сделаешь свои сервисы гибкими, управляемыми и тестируемыми. Настроишь конфигурацию через переменные окружения, внедришь DI-контейнер, напишешь первые интеграционные и e2e-тесты, а ещё — начнёшь строить свою собственную платформенную библиотеку, как в настоящих проектах

Блок 8. Конфигурация: как грамотно хранить параметры сервиса и передавать их при запуске

  • Что такое конфигурация и зачем выносить параметры из кода
  • Работа с переменными окружения (env) — самый частый способ настройки

Блок 9. Платформенная библиотека: общие компоненты для всех

  • Что такое платформенная библиотека и зачем её выделять
  • Пишем health check для grpc сервера
  • Создаём логгер на основе zap и настраиваем формат логов, единый для всех сервисов
  • Разрабатываем удобный менеджер закрытия ресурсов для обеспечения graceful shutdown

Блок 10. DI-контейнер: управляем зависимостями красиво

  • Что такое инверсия зависимостей и зачем она тебе
  • Как выглядит простой DI-контейнер на Go и как его написать
  • Интеграция DI в сервис: как это облегчает тестирование и конфигурирование

Блок 11. Интеграционное и E2E-тестирование: идём глубже

  • Интеграционные тесты для базы: используем сьюты, структуру проекта и тестовые данные
  • End-to-End тесты сервисов: проверяем всю цепочку работы через ginkgo, gomega и testcontainers-go
  • Как запускать тесты автоматически и проверять результат до релиза

Неделя 5 Kafka, события и асинхронная магия микросервисов

Выйдешь за пределы прямых запросов и начнёшь выстраивать событийное взаимодействие между сервисами. Познакомишься с Apache Kafka, научишься поднимать брокер в KRaft-режиме, писать продюсеров и консьюмеров, обрабатывать события и строить устойчивые, слабо связанные микросервисы. Плюс — сделаешь сервисы Assembly и Notification, и подключишь Telegram-бота

Блок 12. Apache Kafka в Go: шина событий своими руками

  • Что такое Apache Kafka и зачем она нужна микросервисам
  • Как работает Kafka в KRaft-режиме (без ZooKeeper)
  • Поднимаем Kafka с одним брокером через Docker Compose
  • Пишем продюсера и консьюмера на Go
  • Создаём consumer group и обрабатываем события
  • Интегрируем Kafka в архитектуру: DI, слои, обёртки

Блок 13. Уведомления в Telegram: живой отклик системы

  • Как зарегистрировать Telegram-бота и подключить его к сервису
  • Используем шаблоны Go для генерации сообщений
  • Разделяем логику по слоям: бот, отправка, шаблоны, бизнес-логика

Неделя 6 Redis и аутентификация: защищаем вход и храним сессии

Реализуешь полноценную систему аутентификации. Разберёшься, как организовать вход по логину и паролю, как хранить сессии, и как проверять доступ к ручкам gRPC. На этой неделе в проект войдёт Redis как хранилище сессий с TTL и базовыми структурами данных

Блок 14. Redis в Go: быстрое и удобное хранилище

  • Что такое Redis и зачем он нужен в микросервисной архитектуре
  • Какие структуры данных в Redis используются на практике: key-value, hashmap, set
  • Работа с TTL — автоматическое удаление сессий
  • Запуск Redis через Docker Compose
  • Интеграция Redis в сервис: клиент, DI, обёртка, сохранение и проверка сессий

Блок 15. Аутентификация и авторизация: сессии, токены и права доступа

  • Идентификация, аутентификация, авторизация — в чём разница
  • Подходы к аутентификации: сессии против JWT — плюсы и минусы
  • Реализуем API для работы с JWT
  • Научимся сохранять сессию в Redis с TTL 24 часа
  • Добавим интерцептор, валидирующий сессию на gRPC-ручках

Неделя 7 Об Observability не шутят: логи, метрики и трейсы

Внедришь в систему все три столпа наблюдаемости: логи, метрики и трейсы. Научишься собирать данные через OpenTelemetry Collector, отображать метрики в Grafana, логи — в Kibana, а трейсы — в Jaeger. Настроишь алерты на важные события и выведешь нотификации в Telegram

Блок 16. Мониторинг сервисов через OpenTelemetry

  • Как устроена система наблюдаемости: логирование, метрики, трассировка
  • Что такое OpenTelemetry и зачем нужен Collector
  • Сбор логов через zap → OpenTelemetry Collector → Elasticsearch → Kibana
  • Сбор метрик через Prometheus и OpenTelemetry Collector
  • Отображение данных в Grafana: метрики по сервисам и событиям
  • Подключение трейсов в Jaeger и визуализация прохождения запросов
  • Настройка алертов через Alertmanager с отправкой в Telegram
  • Вынос общих обёрток и инструментов в платформенную библиотеку

Неделя 8 Envoy: единая точка входа и контроль доступа на входе

Настроишь центральную точку входа в систему — через Envoy. Научишься маршрутизировать HTTP и gRPC-запросы, прокидывать заголовки, а главное — реализуешь проверку валидности сессии перед каждым запросом через вызов IAM-сервиса. Всё это будет работать в Docker Compose и интегрировано в проект

Блок 17. Envoy как gateway: маршрутизация, защита, удобство

  • Что такое Envoy и зачем он нужен в микросервисной архитектуре
  • Поднимаем Envoy в Docker Compose и настраиваем как точку входа в систему
  • Маршрутизация HTTP-запросов: настройка маршрутов, хостов, портов
  • Маршрутизация gRPC-запросов с поддержкой grpc_json_transcoder
  • Интеграция IAM-проверки: Lua-скрипт, выполняющий запрос на валидацию сессии
  • Как спрятать все сервисы за Envoy и оставить наружу только одну точку доступа

Преподаватель и автор курса – Олег Козырев:

  • NDASenior Engineer: разрабатывает платформу для контроля доступов к продуктовым сервисам
  • HighLoad++ 2024Спикер: выступал с докладом по декларативной платформе управления доступом и являлся информационным партнером конференции
  • Ozon Tech: ЛогистикаSenior Engineer: разрабатывал сервисы организации перевозок товаров продавца на склад
  • Ozon Tech: МоментыSenior Engineer: разрабатывал систему модерации «рилсов» внутри приложения Ozon
  • Ozon Tech: МаркетплейсMiddle Engineer: разрабатывал сервис, который отслеживает своевременность доставки посылок
  • Route 256Преподаватель и тьютор: менторил и преподавал курсы по построению микросервисов в школе Ozon Tech
  • YaTalksВедущий конференции: вел второй день конференции по программированию от Яндекса
Характеристики
Наличие Предзаказ Тип Видео Размещение на сайте 16.06.2025 Артикул 2230

Об авторах

Фото: Олег Козырев
0.0
Олег Козырев
Go-разработчик, работал в Т-Банке, Авито и Озоне. Автор курсов по микросервисам на Go и подготовке к собеседованиям на Golang-разработчика.

Отзывы и комментарии

Отзывов ещё нет, будьте первыми

Написать отзыв
Нажимая "Отправить" Вы соглашаетесь с правилами публикации и даёте согласие на обработку персональных данных. Администрация не несёт ответственности за содержание отзывов.

Похожие товары:

Постер товара: Микросервисы на GO 3.0
Скидка 89%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Микросервисы на GO 3.0
Микросервисы и DDD
Постер товара: Микросервисы: проектирование и интеграция на Go
Скидка 92%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
Микросервисы: проектирование и интеграция на Go
Микросервисы и DDD
Постер товара: Cовременная разработка на GO
Скидка 80%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
Cовременная разработка на GO
API и интеграции
Постер товара: Golang разработчик
Скидка 80%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Golang разработчик
Go (Golang)
Постер товара: Микросервисы и API на Java и Kotlin
Скидка 90%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Микросервисы и API на Java и Kotlin
API и интеграции
Постер товара: Паттерны отказоустойчивости в микросервисах на Go
Скидка 90%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Паттерны отказоустойчивости в микросервисах на Go
Микросервисы и DDD
Постер товара: Разработчик Golang
Скидка 91%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Разработчик Golang
Продвинутый Go и concurrency
Постер товара: Golang-разработчик (basic + advanced)
Скидка 90%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Golang-разработчик (basic + advanced)
Основы Go