Микросервисы на Go
О чём курс
Команда инженеров из компаний «Иннотех», VK и МТС разбирает проектирование распределённых систем на Go — от принципов чистой архитектуры до работы под нагрузкой в инфраструктуре Kubernetes. Вы научитесь декомпозировать монолитные приложения, настраивать межсервисное взаимодействие и организовывать непрерывную доставку кода.
О чём курс
Курс охватывает полный цикл создания микросервисов: проектирование доменных моделей и агрегатов, покрытие кода интеграционными и нагрузочными тестами, упаковку в Docker и развёртывание через Helm. Особое внимание уделено наблюдаемости систем — сбору метрик, структурированному логированию и сквозной трассировке запросов.
В блоке системного дизайна рассматриваются архитектурные шаблоны CQRS, Event Sourcing и Saga на базе Temporal, а также обеспечение отказоустойчивости с помощью Circuit Breaker, Health Checks и Liveness Probes. Вы разберёте настройку безопасных каналов связи через mTLS, аутентификацию по JWT в Keycloak и организацию маршрутизации через API Gateway.
Кому подойдёт
- Разработчикам на Go с коммерческим опытом от 2–3 лет, которые хотят углубиться в построение распределённых систем.
- Архитекторам, проектирующим микросервисные решения и выбирающим стеки данных.
- Руководителям проектов и техническим лидерам, управляющим процессами разделения монолита на независимые сервисы.
- Выпускникам курсов по продвинутой разработке на Go и системному проектированию, желающим закрепить принципы чистой архитектуры.
Необходимая подготовка
Для комфортного прохождения программы понадобятся:
- уверенное владение языком Go;
- понимание монолитной и микросервисной архитектур, а также способов взаимодействия компонентов;
- опыт работы с реляционными СУБД и брокерами сообщений;
- базовые навыки работы в Linux и с системой контроля версий Git.
Инструменты и технологии
В практических заданиях и разборах используются современные инженерные решения:
- хранилища данных и очереди: PostgreSQL с Patroni и шардированием, MongoDB, Redis, Tarantool, Apache Kafka, RabbitMQ, S3, Cassandra;
- сетевой стек: gRPC, REST, HTTP/2, WebSockets;
- наблюдаемость: стек ELK, slog, zap, Prometheus, Grafana, OpenTelemetry, Jaeger;
- инфраструктура: Docker, Kubernetes, Helm, Consul, а также практики Service Mesh, eBPF и управляемый Kubernetes.
Формат обучения
Занятия проходят в формате интерактивных онлайн-вебинаров два раза в неделю по два академических часа. Доступ к записям занятий и сопутствующим материалам сохраняется бессрочно.
Практическая часть включает выполнение домашних заданий с обратной связью и проверкой от преподавателей, а также общение в групповом чате. Заключительный месяц отведён под реализацию собственного выпускного проекта с консультациями и защитой.
Преподаватели
Материал преподают практикующие специалисты индустрии:
- Александр Хохлов — архитектор платформенных решений в ГК «Иннотех»;
- Александр Литкевич — фулстек-разработчик в VK;
- Евгений Федосеев — ведущий разработчик в МТС;
- Роман Грицуляк — разработчик и консультант;
- Юра Рубаха — Go-разработчик;
- Константин Войта — тимлид в Fluence Siemens.
Программа обучения
- Архитектура приложения В этом модуле вы рассмотрите подходы к чистой архитектуре приложения на Go. Тема 1: Чистая архитектура приложения Тема 2: Доменная модель и Агрегаты Тема 3: Репозитории и адаптеры
- CI/CD, совместная работа В этом модуле вы рассмотрите механику совместной работы и публикацию результатов на рабочих серверах. Тема 1: Совместная работа с Github, Gitlab Тема 2: Публикация приложений // ДЗ Тема 3: Модульное тестирование и профилирование Тема 4: Тестирование микросервисов // ДЗ
- Observability (мониторинг, логирование, трассировка) В этом модуле вы изучите механику наблюдения и реагирования на работу микросервисов. Тема 1: Логирование Тема 2: Мониторинг Тема 3: Трассировка // ДЗ
- Сетевое взаимодействие В этом модуле вы рассмотрите, как микросервисы общаются между собой. Тема 1: HTTP/х и WebSockets Тема 2: TLS // ДЗ Тема 3: REST Тема 4: Раскрываем горизонты REST Тема 5: gRPC // ДЗ
- Хранение данных В этом модуле вы изучите, как работать с разными вариантами хранения данных при взаимодействии с микросервисами. Тема 1: PostgreSQL Тема 2: NoSQL (MongoDB) Тема 3: InMemory DB // ДЗ Тема 4: RabbitMQ Тема 5: Apache Kafka Тема 6: Распределённые хранилища // ДЗ Тема 7: Q&A-сессия
- Системный дизайн В этом модуле вы рассмотрите реализацию паттернов системного дизайна. Тема 1: Разделение монолита на микросервисы Тема 2: Дизайн микросервисов - Event sourcing Тема 3: Дизайн микросервисов - CQRS Тема 4: Отказоустойчивость микросервисов // ДЗ
- Проектная работа Заключительный месяц курса посвящен проектной работе. Проект – это самая интересная часть обучения. Вы будете разрабатывать его на основе полученных на курсе навыков и компетенций. В процессе работы над проектом можно получить консультацию преподавателей. Тема 1: Выбор темы и организация проектной работы // Проект Тема 2: Консультация по проектам и домашним заданиям Тема 3: Защита проектных работ Тема 4: Подведение итогов курса
Теги курса
Отзывов пока нет. Будьте первым!
Этот курс сейчас в процессе организации складчины. Нажмите кнопку «Записаться» и ожидайте старта — вам придёт уведомление. Когда складчина стартует, в карточке курса будет указан актуальный взнос. Текущая цена пока в процессе формирования и может отличаться от финальной.
Да, мы стремимся, чтобы финальный взнос был не больше ≈10% от оригинальной цены курса. Чем больше участников записывается в складчину, тем ниже выходит взнос для каждого.
Нажмите кнопку «Записаться» и авторизуйтесь на сайте через email (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.