Микросервисы на Go
27 ноября
3 месяца
Онлайн
Вт/Чт 20:00 Мск
Для кого этот курс?
- Go-разработчиков, с опытом от 2-х лет, стремящихся углубить знания в микросервисной архитектуре и применении языка Go
- Архитекторов работающих с микросервисной архитектурой, с опытом проектирования от 2-х лет, желающих освоить современные подходы к проектированию микросервисов и улучшить управление распределенными системами
- Выпускников курсов System Design, которые хотят расширить своим компетенции и улучшить качество работы и которые обладают необходимыми навыками, для успешного освоения программы
Необходимые знания
- Уверенное знание Go
- Понимание микросервисной и монолитной архитектур, взаимодействия между отдельными компонентами
- Понимание работы с СУБД и Брокерами сообщений
- Навыки работы с git и linux
- Опыт разработки от 2-3 лет
Вы освоите:
- Применение микросервисной архитектуры: Освоение применения принципов проектирования и разработки микросервисов через практические кейсы, включая чистую архитектуру
- Инструменты CI/CD: Навыки работы с инструментами непрерывной интеграции и доставки, такими как GitHub и GitLab, для автоматизации процессов разработки
- Мониторинг и логирование: Отточите умение внедрять и настраивать механизмы наблюдения за работой микросервисов и анализа их производительности
- Сетевое взаимодействие: Применение различных технологий для общения между микросервисами, таких как HTTP/2, gRPC и REST в реальных проектах
- Обработка данных: Знания и навыки работы с различными системами хранения и обработки данных, такими как PostgreSQL, MongoDB, Apache Kafka и RabbitMQ в контексте микросервисной архитектуры
- Системный дизайн: Освоение применения паттернов системного дизайна для проектирования устойчивых и масштабируемых приложений.
После обучения вы сможете:
-
Проектировать микросервисные архитектуры: Умение разрабатывать и внедрять микросервисы, основываясь на лучших практиках и рекомендациях
-
Автоматизировать процессы разработки: Использовать инструменты CI/CD для автоматизации сборки и доставки приложений на рабочие серверы
-
Внедрять систему мониторинга: Настраивать логи и мониторинг микросервисов для улучшения их надежности и быстрого реагирования на проблемы
-
Разрабатывать API: Создавать и поддерживать RESTful и gRPC API для взаимодействия между микросервисами
-
Работать с различными базами данных: Умело взаимодействовать с реляционными и NoSQL СУБД для устойчивого хранения данных
-
Применять системный дизайн: Реализовывать паттерны системного дизайна для разделения монолитов на микросервисную архитектуру, оптимизируя бизнес-процессы.
Почему стоит освоить?
Процесс обучения
Оптимальная нагрузка
Возможность совмещать учебу с работой
Портфолио
Индивидуальная разработка итоговой проектной работы
Перспективы
Получите знания, которые помогут повысить вашу востребованность и доход
Партнеры
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности. Мы оказываем помощь в вопросах карьеры на протяжении всего обучения и спустя полгода после его завершения.
- Получите помощь с оформлением резюме, портфолио и сопроводительного письма
- Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
- Пройдете карьерную консультацию с нашим HR-специалистом
- Получите рекомендации, как искать работу, и советы по прохождению собеседования
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда
Обратная связь
Домашние задания с поддержкой и обратной связью наших преподавателей помогут освоить изучаемые технологии
Активное комьюнити
Чат в Telegram для общения преподавателей и студентов
Программа
Архитектура приложения
В этом модуле вы рассмотрите подходы к чистой архитектуре приложения на 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: Подведение итогов курса
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Выпускной проект
В проектной работе студенты должны будут спроектировать и реализовать не менее двух микросервисов, которые должны корректно взаимодействовать с другими сервисами и обладать устойчивостью к высокой нагрузке.
В рамках проектной работы со звездочкой необходимо будет с коллегами по команде собрать сервисы в единую рабочую систему.
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Открытый вебинар — это настоящее занятие в режиме онлайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
В современных микросервисных системах централизованное управление конфигурациями — ключ к отказоустойчивости и гибкости.
На открытом уроке разберем:
- Как использовать etcd, Zookeeper и Consul для хранения и распределения конфигураций;
- Способы построения отказоустойчивых решений с использованием распределённых хранилищ;
- Как микросервисы на Go могут автоматически адаптироваться при сбоях и изменениях конфигурации без остановки системы.
После занятия вы будете знать:
- Чем отличаются популярные системы распределённых конфигураций и где их применять;
- Как реализовать динамическое обновление конфигурации в микросервисах на Go;
- Какие паттерны помогают обеспечить устойчивость и предсказуемое поведение сервисов.
Урок будет полезен:
- Разработчикам на Go, работающим с микросервисами;
- Архитекторам, которые проектируют распределённые решения;
- DevOps-инженерам, отвечающим за стабильность и конфигурацию систем.
На занятии вы узнаете:
1. Как настроить инструменты для генерации кода:
- Установка и конфигурация protoc и плагинов;
- Настройка Makefile или скриптов для автоматизации сборки;
- Структура проекта с разделением на proto, gateway и service.
2. Как разработать и настроить proto3-схему для API-Gateway:
- Использование HTTP-аннотаций для маппинга REST эндпоинтов;
- Добавление метаданных для Swagger-документации;
- Организация структуры proto-файлов для масштабируемости микросервисов.
3. Как правильно организовать базовое приложение на Go:
- Подключение gRPC и HTTP-серверов в одном приложении;
- Настройка маршрутизации API-Gateway;
- Генерация и подключение Swagger UI для тестирования REST API.
Результат:
После урока участники смогут подготовить шаблон микросервиса, поддерживающий три уровня взаимодействия
- gRPC для внутренних сервисов,
- REST для внешних клиентов,
- Swagger-документация для удобной интеграции и тестирования.
Прошедшие
мероприятия
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Подтверждение знаний и навыков
OTUS осуществляет лицензированную образовательную деятельность.
В конце прохождения специализации вы получите сертификат OTUS и официальный диплом о получении новой специальности
После обучения:
-
Удостоверение о повышении квалификации: если вы успешно защитили выпускной проект
и готовы предоставить копию документа о высшем или среднем профессиональном образовании -
Доступ к учебным материалам курса
-
Ваш личный проект, который поможет проходить собеседования
Микросервисы на Go
Полная стоимость
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Оставьте заявку и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно