Микросервисы на Java: практический подход [IBS Training Center]
Курс предлагает глубокое погружение в микросервисную архитектуру с акцентом на разработку на Java. Участники изучат ключевые концепции, принципы и компоненты микросервисов, а также приобретут навыки проектирования, разработки и развертывания микросервисных приложений. Программа курса включает как теоретические, так и практические занятия, что позволяет слушателям не только усвоить материал, но и применить его на практике. После окончания курса участники не только приобретут глубокие знания о микросервисной архитектуре, но и смогут разрабатывать собственные микросервисы на языке Java.
Программа
Программа курса «Микросервисы на Java» состоит из пяти модулей, которые позволяют ознакомиться с концепциями и паттернами микросервисной архитектуры, а также применить эти знания на практике.
будете обладать навыками разработки и реализации микросервисов на Java, а
также будете понимать основные принципы и подходы в микросервисной архитектуре.
Цели
Овладение навыками проектирования и разработки микросервисов с использованием языка Java. Изучение основных компонентов микросервисов, таких как сервисы, сообщения, базы данных и масштабирование. Приобретение практических навыков в использовании микросервисов. Понимание методов и инструментов для разработки и развертывания микросервисных приложений на платформе Java.
Предварительная подготовка
Умение писать код на Java, понимание основных концепций объектно-ориентированного программирования, знание основных библиотек и фреймворков.
Знание Spring Boot.
Знание основных принципов веб-разработки, включая HTTP, REST, JSON.
Понимание основных принципов работы с базами данных, знание SQL и опыт работы с реляционными базами данных.
Опыт работы с инструментами разработки на Java, такими как Maven, Gradle, Git и IDE.
Темы курса
01 Погружение в микросервисы [Теория 4 ч.]
Чему вы научитесь:
Курс предлагает глубокое погружение в микросервисную архитектуру с акцентом на разработку на Java. Участники изучат ключевые концепции, принципы и компоненты микросервисов, а также приобретут навыки проектирования, разработки и развертывания микросервисных приложений. Программа курса включает как теоретические, так и практические занятия, что позволяет слушателям не только усвоить материал, но и применить его на практике. После окончания курса участники не только приобретут глубокие знания о микросервисной архитектуре, но и смогут разрабатывать собственные микросервисы на языке Java.
Программа
Программа курса «Микросервисы на Java» состоит из пяти модулей, которые позволяют ознакомиться с концепциями и паттернами микросервисной архитектуры, а также применить эти знания на практике.
- В первом модуле вы изучите концепцию микросервисов, их архитектуру и компоненты.
- Во втором модуле разберетесь с декомпозицией системы на микросервисы с использованием трех методологий: принципов Объектно-Ориентированного проектирования, декомпозиции по бизнес-способностям и декомпозиции по поддоменам (на основе Domain Driven Design)
- Третий модуль посвящен коммуникации между микросервисами, включая синхронную и асинхронную коммуникацию, использование RESTful API и использование Kafka.
- В четвертом модуле познакомитесь с управлением данными в микросервисной архитектуре, включая распределенные транзакции, CAP-теорему, паттерн SAGA, Event Sourcing, паттерн CQRS, паттерн Outbox. Также разберетесь с вопросом управления миграцией данных на основе Liquibase.
- В пятом модуле узнаете о деплое микросервисов, включая контейнеризацию, упаковку приложений в Docker-контейнеры, настройку Kubernetes и автоматическое масштабирование.
будете обладать навыками разработки и реализации микросервисов на Java, а
также будете понимать основные принципы и подходы в микросервисной архитектуре.
Цели
Овладение навыками проектирования и разработки микросервисов с использованием языка Java. Изучение основных компонентов микросервисов, таких как сервисы, сообщения, базы данных и масштабирование. Приобретение практических навыков в использовании микросервисов. Понимание методов и инструментов для разработки и развертывания микросервисных приложений на платформе Java.
Предварительная подготовка
Умение писать код на Java, понимание основных концепций объектно-ориентированного программирования, знание основных библиотек и фреймворков.
Знание Spring Boot.
Знание основных принципов веб-разработки, включая HTTP, REST, JSON.
Понимание основных принципов работы с базами данных, знание SQL и опыт работы с реляционными базами данных.
Опыт работы с инструментами разработки на Java, такими как Maven, Gradle, Git и IDE.
Темы курса
01 Погружение в микросервисы [Теория 4 ч.]
- Что такое микросервисы и как они связаны с Java?
- Преимущества и недостатки микросервисной архитектуры
- Основные принципы микросервисов
- Проектирование микросервисов на Java
- Декомпозиция на основе принципов Объектно-Ориентированного Дизайна
- Декомпозиция на основе принципов Бизнес-возможностей
- Определение границ между сервисами
- Использование Domain-Driven Design в микросервисной архитектуре
- Протоколы взаимодействия микросервисов на Java
- Синхронное взаимодействие между микросервисами с помощью REST API
- Использование message brokers для обмена данными между сервисами на Java
- Хранение данных в микросервисах
- Различные подходы к управлению данными
- Стратегии персистентности в микросервисах
- Общая База Данных
- База Данных на Сервис
- Схема на Сервис
- CAP теорема
- 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-кластере.
Чему вы научитесь:
- Научитесь проектировать микросервисы, определяя их границы и ответственность
- Освоите методы разработки RESTful API для микросервисов, включая использование Spring Boot и Spring MVC
- Научитесь использовать Spring Cloud Config и другие инструменты для управления конфигурацией микросервисов
- Освоите паттерны обработки ошибок и устойчивости
- Научитесь применять инструменты мониторинга и логирования
https://ibs-training.ru/kurs/mikroservisy_na_java_prakticheskij_podhod.html