Микросервисная архитектура

Микросервисная архитектура

  Сложность

Пока неизвестно

  Длительность

24 ак.ч.

  Формат

онлайн

  Документ

удостоверение о повышении квалификации государственного образца

Стоимость курса
48 900

Подробнее о курсе

Описание Микросервисная архитектура (МСА) сравнительно недавно завоевала славу самого популярного архитектурного подхода. Ее использование обеспечивает множество преимуществ на различных этапах жизненного цикла продукта. В частности, МСА позволяет получить меньшее время реакции на требования бизнеса, что зачастую обеспечивает ее превосходство над прочими архитектурными стилями. Однако, в процессе разработки МСА систем архитектор сталкивается со множеством вызовов, многие из которых заставляют новичков откатываться назад. Ошибки декомпозиции могу привести к серьёзному увеличению сложности разработки. Производительность страдает из-за непреодолимых сетевых задержек. Распределенное хранение данных не позволяет использовать транзакционную согласованность. Большое количество взаимодействующих по сети компонент снижает надежность. Сложно обеспечивать безопасность. Кроме того, отдельного разговора требует тестирование и обслуживание распределенной системы. Данный курс покажет преимущества и недостатки использования МСА. Поможет принимать обоснованное решение о применимости МСА в зависимости от потребностей бизнеса и возможностей команды. В курсе рассматриваются основные проблемы, связанные с реализацией микросервисной архитектуры. Стратегии, механизмы, паттерны, решающие озвученные выше задачи. По каждой рассматриваемой проблеме будут представлены наиболее распространённые инструменты (такие, как Kubernetes, Istio, Histryx, Kibana, и многие другие). Практические упражнения позволят приобрести навык самостоятельного проектирования МСА систем.

Документ после выпуска

удостоверение о повышении квалификации государственного образца

Автор курса

Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Действует скидка 10% на обучение физических лиц.

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

  1. Архитектурные стили (2 ч.)

Понятия монолита, SOA, MSA. Сравнение и обоснование выбора.

  2. Паттерны декомпозиции MSA (2 ч.)

Оптимальный размер микросервиса; Разбиение на сервисы по бизнес-возможностям; Разбиение на сервисы по проблемным областям; Практики определения предметных областей; Декомпозиция по техническим и организационным аспектам.

  3. Организация разработки под MSA (1 ч.)

Организация команд под MSA; Организация репозитория кода под MSA.

  4. Интеграция микросервисов (3 ч.)

Паттерны взаимодействия; Синхронные и асинхронные механизмы взаимодействия; Оркестровка и хореография; Основные протоколы и технологии (REST, gRPC, GraphQL, Kafka, RabbitMQ и др.); Взаимодействие с внешними системами (API Gateway, BFF); Реактивные системы; Архитектуры управляемые событиями; Разделение команды и запроса.

  5. Организация работы с данными в MSA (3 ч.)

Паттерны работы с данными; Порождение событий; Справочные данные в MSA; Единый источник истины (Source of Truth) в MSA.

  6. Основные шаблоны МСА (9 ч.)

Модифицируемость. Решение проблемы высокой связанности. Версионирование интерфейсов и событий. Типы контрактов. Изменения событийной модели. Паттерны организации запросов. Микросервисное шасси (Microservice chassis). Сетки сервисов (Service Mesh). Масштабируемость. Паттерны построения балансировщиков. Сервисы обнаружения и паттерны работы с ними. Производительность. Паттерны производительности в MSA (переборка, изящная деградация и пр.). Согласованность. Проблемы обеспечения согласованности в MSA. CAP теорема. Решения проблем согласованности. Двухфазные коммиты. Паттерн SAGA. Понижение уровня согласованности. Надежность. Механизмы отказоустойчивости. Паттерны предохранитель (Circuit Breaker), дросселировка, зависимые таймауты и пр. Безопасность. Механизмы обеспечения безопасности в MSA. Аутентификация. Авторизация. Защита периметра. Защита каналов связи. Основные протоколы и паттерны (OAUTH2, JWT, привратник, ключ камердинера и пр.). Тестируемость. Пирамида и квадрат тестирования. Особенность тестирования микросервисов. Модульное тестирование. Интеграционное тестирование. Компонентное тестирование. Тестирование E2E. Паттерны тестирования MSA. Удобство обслуживания. Возможность наблюдения (Observability). Паттерны наблюдения (распределенная трассировка, агрегация журналов). Мониторинг и журналирование. Конфигурирование микросервисов. Вынесение конфигурации во вне. Поддержка системы.

  7. Развертывание микросервисов (2 ч.)

Паттерн «Deployment pipeline»; Паттерны развертывания; Использование технологий Docker и Kubernetes; Использование сетки ISTIO; Бессерверное развертывание; Стратегии развертывания (сине-зеленые, канареечные и т.д.).

  8. Стратегии миграции от монолита к MSA (2 ч.)

Стратегии перехода с монолита на микросервисы; Удушение монолита (Strangler monolith); Паттерны удушения; Связь микросервиса с монолитом; Миграция базы данных.

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

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

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

обновлено: 05.04.2025

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

Профессия Разработчик VR с нуля до PRO

Профессия Разработчик VR с нуля до PRO

Онлайн-магистратура МИФИ "Разработка программного обеспечения"

Онлайн-магистратура МИФИ "Разработка программного обеспечения"

ClickHouse для инженеров и архитекторов БД

ClickHouse для инженеров и архитекторов БД

Otus
 онлайн
 4 часа
  Перейти к курсу
Шаблоны проектирования приложений масштаба предприятия

Шаблоны проектирования приложений масштаба предприятия

Создание игр с помощью нейросетей

Создание игр с помощью нейросетей

Observability: мониторинг, логирование, трейсинг

Observability: мониторинг, логирование, трейсинг

Otus
 онлайн
 4 часа
  Перейти к курсу
Быстрый старт в IT

Быстрый старт в IT

Методы оптимизации

Методы оптимизации

ЛЭТИ
 онлайн
 24 ак. час.
  Перейти к курсу

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

Основы математики для цифровых профессий

Основы математики для цифровых профессий

Методист. Современные подходы к проектированию программ

Методист. Современные подходы к проектированию программ

Знакомство с программированием

Знакомство с программированием

Введение в программирование (ТОП-20)

Введение в программирование (ТОП-20)

Основы программирования

Основы программирования

Создание динамических сред для разработки и тестирования

Создание динамических сред для разработки и тестирования

Какую профессию выбрать в программировании

Какую профессию выбрать в программировании

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

Наши консультанты ответят на все вопросы
И помогут в выборе

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

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