Программа курса "Микросервисы на Java" включает 5 модулей, которые позволяют слушателям ознакомиться с концепциями и паттернами микросервисной архитектуры, а также применить эти знания на практике.
В первом модуле слушатели знакомятся с концепцией микросервисов, изучают архитектуру и компоненты микросервисов.
Во втором модуле студенты изучают декомпозицию системы на микросервисы с использованием трех методологий: принципов Объектно-Ориентированного проектирования, декомпозиции по бизнес-способностям и декомпозиции по поддоменам (на основе Domain Driven Design).
Третий модуль посвящен коммуникации между микросервисами, включая синхронную и асинхронную коммуникацию, использование RESTful API и использование Kafka.
В четвертом модуле слушатели изучают управление данными в микросервисной архитектуре, включая распределенные транзакции, CAP-теорему, паттерн SAGA, Event Sourcing, паттерн CQRS, паттерн Outbox. Также затрагивается вопрос управления миграцией данных на основе Liquibase.
В пятом модуле слушатели узнают о деплое микросервисов, включая контейнеризацию, упаковку приложений в Docker-контейнеры, настройку Kubernetes и автоматическое масштабирование.
Курс включает как теоретическую, так и практическую части. По окончании курса слушатели будут обладать навыками разработки и реализации микросервисов на языке Java, а также пониманием основных принципов и подходов в микросервисной архитектуре.Умение писать код на Java, понимание основных концепций объектно-ориентированного программирования, знание основных библиотек и фреймворков
Знание Spring Boot
Знание основных принципов веб-разработки, включая HTTP, REST, JSON
Понимание основных принципов работы с базами данных, знание SQL и опыт работы с реляционными базами данных
Опыт работы с инструментами разработки на Java, такими как Maven, Gradle, Git и IDE
Что такое микросервисы и как они связаны с Java?
Преимущества и недостатки микросервисной архитектуры
Основные принципы микросервисов
Проектирование микросервисов на Java
Декомпозиция на основе принципов Объектно-Ориентированного Дизайна
Декомпозиция на основе принципов Бизнес-возможностей
Определение границ между сервисами
Использование Domain-Driven Design в микросервисной архитектуре
Протоколы взаимодействия микросервисов на Java
Синхронное взаимодействие между микросервисами с помощью REST API
Использование message brokers для обмена данными между сервисами на Java
Хранение данных в микросервисах
Различные подходы к управлению данными
Стратегии персистентности в микросервисах
- Общая База Данных
- База Данных на Сервис
- Схема на Сервис
Eventual consistency
Распределенные транзакции
Паттерн SAGA
Паттерн Event Sourcing
Паттерн CQRS
Паттерн Outbox
Миграции данных с помощью Liquibase
Использование Docker для контейнеризации микросервисов
Использование Kubernetes для деплоя и масштабирования микросервисов
Анализ предметной области и декомпозиция домена на поддомены, выделение микросервисов
Реализация микросервисов как независимых Spring Boot приложений
Реализация синхронной коммуникации между микросервисами с использованием REST API и OpenFeign
Реализация асинхронного обмена сообщениями между микросервисами с применением Kafka и Stream Cloud Stream.
Практика реализации распределенных транзакций с помощью SAGA
Практика реализации паттерна Outbox для надежной доставки сообщений
Практика миграции данных с помощью Liquibase
Контейнеризация микросервисов на Java с использованием Docker
Развертывание микросервисов в Kubernetes-кластере.
59 900 ₽
53 910 ₽ — для физ. лиц
Практика работы с Kubernetes. Базовые темы
В данном курсе вы получите все необходимые знания для работы с Kubernetes. Вы узнаете, что такое Kubernetes, познакомитесь с его архитектурой, изучите основные компоненты и службы, чтобы запустить ваш проект. Вы поднимите учебный кластер Kubernetes, опишите и запустите такие сущности Kubernetes, как поды, наборы реплик и развёртывания. Вы узнаете, как организовано сетевое взаимодействие в Kubernetes, какие имеются виды сервисов, и когда их лучше использовать. Вы настроите приложение с помощью ConfigMaps и будете использовать сущности Secrets для хранения конфиденциальных данных. Курс заканчивается обсуждением томов для долговременного хранения данных. Помимо фундаментальных знаний, вы узнаете устранять неполадки в случае, если что-то пойдет не так.
45 500 ₽
Domain Driven Design
Курс по основам предметно-ориентированного проектирования для гибкости систем, декомпозиции бизнес-логики и тактических паттернов.
46 900 ₽
Микросервисная архитектура
Основы микросервисной архитектуры, её связь с традиционными подходами и практические решения для проектирования систем.
48 900 ₽
Основы Kafka
Вводный тренинг по Apache Kafka – платформе распределенной потоковой передачи событий с открытым исходным кодом. Рассматриваются архитектурные особенности Kafka, обеспечивающие высокопроизводительную доставку данных.
44 500 ₽
Spring Cloud для Java-разработчиков
Spring Cloud – это проект, который позволяет создавать распределенные приложения с микросервисной архитектурой. Вы познакомитесь с множеством доступных компонентов, детально рассмотрите архитектуру и широкие возможности Spring Cloud.
37 500 ₽