Микросервисы на Java: практический подход
Курс "Микросервисы на Java" предлагает полное погружение в мир микросервисной архитектуры и ее реализацию на языке программирования Java. Слушатели изучат основные концепции, принципы и компоненты микросервисов, а также получат навыки проектирования, разработки и деплоя микросервисных приложений. Курс включает в себя как теоретическую, так и практическую части, чтобы слушатели могли усвоить материал и применить его на практике. В результате окончания курса слушатели получат не только понимание микросервисной архитектуры, но и готовность к созданию собственных микросервисных приложений на языке Java.
30 ак.ч.
Онлайн
JVA-083
Микросервисы на Java: практический подход
Записаться на курс
Длительность
30 ак.ч.
Локация
Онлайн
Код
JVA-083
Расписание и цены
10.02.2025 - 28.02.2025
59 900 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей
Микросервисы на Java: практический подход
Записаться на курс
Длительность
30 ак.ч.
Локация
Онлайн
Код
JVA-083
Расписание и цены
10.02.2025 - 28.02.2025
59 900 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей

Описание

Программа курса "Микросервисы на Java" включает 5 модулей, которые позволяют слушателям ознакомиться с концепциями и паттернами микросервисной архитектуры, а также применить эти знания на практике.

В первом модуле слушатели знакомятся с концепцией микросервисов, изучают архитектуру и компоненты микросервисов.

Во втором модуле студенты изучают декомпозицию системы на микросервисы с использованием трех методологий: принципов Объектно-Ориентированного проектирования, декомпозиции по бизнес-способностям и декомпозиции по поддоменам (на основе Domain Driven Design).

Третий модуль посвящен коммуникации между микросервисами, включая синхронную и асинхронную коммуникацию, использование RESTful API и использование Kafka.

В четвертом модуле слушатели изучают управление данными в микросервисной архитектуре, включая распределенные транзакции, CAP-теорему, паттерн SAGA, Event Sourcing, паттерн CQRS, паттерн Outbox. Также затрагивается вопрос управления миграцией данных на основе Liquibase.

В пятом модуле слушатели узнают о деплое микросервисов, включая контейнеризацию, упаковку приложений в Docker-контейнеры, настройку Kubernetes и автоматическое масштабирование.

Курс включает как теоретическую, так и практическую части. По окончании курса слушатели будут обладать навыками разработки и реализации микросервисов на языке Java, а также пониманием основных принципов и подходов в микросервисной архитектуре.

Цели

Овладение навыками проектирования и разработки микросервисов с использованием языка программирования Java. Изучение основных компонентов микросервисов, таких как сервисы, сообщения, базы данных и масштабирование. Приобретение практических навыков в использовании микросервисов. Понимание методов и инструментов для разработки и развертывания микросервисных приложений на платформе Java.

Целевая аудитория

Java-разработчики

Предварительная подготовка

Умение писать код на Java, понимание основных концепций объектно-ориентированного программирования, знание основных библиотек и фреймворков

Знание Spring Boot

Знание основных принципов веб-разработки, включая HTTP, REST, JSON

Понимание основных принципов работы с базами данных, знание SQL и опыт работы с реляционными базами данных

Опыт работы с инструментами разработки на Java, такими как Maven, Gradle, Git и IDE

Разбираемые темы

  • 1.Погружение в микросервисы [Теория 4 ч.]

    • Что такое микросервисы и как они связаны с Java?

    • Преимущества и недостатки микросервисной архитектуры

    • Основные принципы микросервисов

  • 2.Декомпозиция на микросервисы [Теория 2 ч.; Практика 2 ч.]

    • Проектирование микросервисов на Java

    • Декомпозиция на основе принципов Объектно-Ориентированного Дизайна

    • Декомпозиция на основе принципов Бизнес-возможностей

    • Определение границ между сервисами

    • Использование Domain-Driven Design в микросервисной архитектуре

  • 3.Коммуникация между микросервисами на Java [Теория 3 ч.; Практика 4 ч.]

    • Протоколы взаимодействия микросервисов на Java

    • Синхронное взаимодействие между микросервисами с помощью REST API

    • Использование message brokers для обмена данными между сервисами на Java

  • 4.Управление данными в микросервисах на Java [Теория 3 ч.; Практика 5 ч.]

    • Хранение данных в микросервисах

    • Различные подходы к управлению данными

    • Стратегии персистентности в микросервисах

    - Общая База Данных

    - База Данных на Сервис

    - Схема на Сервис
    • CAP теорема
    • Eventual consistency

    • Распределенные транзакции

    • Паттерн SAGA

    • Паттерн Event Sourcing

    • Паттерн CQRS

    • Паттерн Outbox

    • Миграции данных с помощью Liquibase

  • 5.Деплоймент микросервисов [Теория 3 ч.; Практика 4 ч.]

    • Использование Docker для контейнеризации микросервисов

    • Использование Kubernetes для деплоя и масштабирования микросервисов

  • 6.Практические задания

    • Анализ предметной области и декомпозиция домена на поддомены, выделение микросервисов

    • Реализация микросервисов как независимых Spring Boot приложений

    • Реализация синхронной коммуникации между микросервисами с использованием REST API и OpenFeign

    • Реализация асинхронного обмена сообщениями между микросервисами с применением Kafka и Stream Cloud Stream.

    • Практика реализации распределенных транзакций с помощью SAGA

    • Практика реализации паттерна Outbox для надежной доставки сообщений

    • Практика миграции данных с помощью Liquibase

    • Контейнеризация микросервисов на Java с использованием Docker

    • Развертывание микросервисов в Kubernetes-кластере.

  • Итого на курс 30 часов: теория – 15 ч (50 %), практика – 15 ч (50%)

  • Развернуть программу
Раcписание курсов
Вид:
10.02.2025 - 28.02.2025
10:30 - 14:30
Локация:Онлайн
Длительность:30 ак.ч.
Время:10:30 - 14:30
59 900 руб.
Записаться
Смотреть полное расписание
Связанные курсы
Практика работы с Kubernetes. Базовые темы
В данном курсе вы получите все необходимые знания для работы с Kubernetes. Вы узнаете, что такое Kubernetes, познакомитесь с его архитектурой, изучите основные компоненты и службы, чтобы запустить ваш проект. Вы поднимите учебный кластер Kubernetes, опишите и запустите такие сущности Kubernetes, как поды, наборы реплик и развёртывания. Вы узнаете, как организовано сетевое взаимодействие в Kubernetes, какие имеются виды сервисов, и когда их лучше использовать. Вы настроите приложение с помощью ConfigMaps и будете использовать сущности Secrets для хранения конфиденциальных данных. Курс заканчивается обсуждением томов для долговременного хранения данных. Помимо фундаментальных знаний, вы узнаете устранять неполадки в случае, если что-то пойдет не так.
Онлайн:
17.12.2024 - 23.12.2024
Domain Driven Design
Предметно-ориентированное проектирование (DDD) предлагает общий подход к обеспечению большей гибкости и модифицируемости программных систем на основе более тщательного исследования предметной области и отражения ее структуры в разрабатываемой системе. Участники курса узнают, какие инструменты и практики DDD помогают в построении корпоративных систем со сложной бизнес-логикой и применят стратегические паттерны для декомпозиции предметной области, для разрабатываемой системы. Для дальнейшего проектирования и реализации выделенных в результате декомпозиции компонентов, “ограниченных контекстов” в терминологии DDD, используем тактические паттерны DDD, в первую очередь Агрегаты. В основе материалов курса лежат реальные примеры разработанных систем.
Онлайн:
16.12.2024 - 25.12.2024
Микросервисная архитектура
Данный курс знакомит слушателей с основными концепциями микросервисной архитектуры (МСА). Вводится понятие микросервисной архитектуры, рассматривается её связь с «традиционными» методиками построения системы. Даются шаблоны микросервисной архитектуры, направленные на обеспечение качества разрабатываемой системы. Подробно рассматриваются вопросы развертывания и методы обеспечения значимых качеств МСА.
Онлайн:
24.02.2025 - 05.03.2025
Основы Kafka
Вводный тренинг по Apache Kafka – платформе распределенной потоковой передачи событий с открытым исходным кодом. Рассматриваются архитектурные особенности Kafka, обеспечивающие высокопроизводительную доставку данных.
Онлайн:
11.03.2025 - 27.03.2025
Spring Cloud для Java-разработчиков
Spring Cloud – это проект, который позволяет создавать распределенные приложения с микросервисной архитектурой. Вы познакомитесь с множеством доступных компонентов, детально рассмотрите архитектуру и широкие возможности Spring Cloud.
Смотреть каталог
Ваши преимущества
Экспертность
Тренеры-эксперты из реальных проектов крупнейших компаний, лидеров в своей отрасли
Живое обучение
“Живая” коммуникация с тренером даже в онлайн-формате
Практика
Максимально наполненные практикой занятия, работа в группах, выполнение домашних заданий
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.