Микросервисы могут помочь организациям создавать приложения, которые легче масштабировать, развертывать, поддерживать и развивать. Однако распределенная архитектура также вносит вызовы, связанные с взаимодействием, отказоустойчивостью, согласованностью данных, границами служб и интеграцией фронтенда. Этот курс предоставляет структурированное введение в решение этих задач с помощью проверенных шаблонов дизайна микросервисов.
Вы начнете с обзора основ архитектуры микросервисов и понимания того, чем микросервисы отличаются от традиционных монолитов. Затем курс вводит роль шаблонов дизайна и объясняет, как они предоставляют повторно используемые решения для обычных проблем распределенных систем.
Вы изучите Шаблон Агрегатора, узнаете, как ответы от нескольких сервисов могут быть объединены в единый результат. Шаблон API Gateway показывает, как центральный точка входа может управлять маршрутизацией и упрощать взаимодействие между клиентами и сервисами на backend.
Курс охватывает Шаблон Цепочки Ответственности для обработки запросов через последовательность независимых обработчиков. Вы также изучите Асинхронное Сообщение, которое поддерживает слабо связанное взаимодействие и помогает сервисам работать без ожидания немедленных ответов.
Отдельный урок вводит Шаблон Предохранителя, объясняя, как приложения могут обнаруживать сбои сервисов, предотвращать повторные неудачные запросы и снижать риск каскадных сбоев. Эти принципы устойчивости помогают распределенным приложениям оставаться доступными, когда отдельные сервисы сталкиваются с проблемами.
Затем вы изучите шаблоны данных и структуры, включая Шаблон Разделенной Базы Данных, Шаблон Разветвления и Шаблон Разделения. Эти уроки объясняют, как сервисы могут быть разделены, как рабочие процессы могут разветвляться по компонентам и как более крупные приложения могут быть разделены на управляемые бизнес-возможности.
Курс также охватывает CQRS, который разделяет обязанности команд и запросов, и Event Sourcing, который записывает изменения как последовательность событий. Эти шаблоны могут поддерживать масштабируемые рабочие процессы, отслеживаемость и более гибкие модели данных.
Наконец, вы изучите Шаблон Backend для Frontend, который предоставляет специализированные сервисы backend для различных интерфейсов, таких как веб- и мобильные приложения. Руководство по выбору подходящих шаблонов и использованию инструментов визуализации кода поможет вам оценить архитектурные выборы и понять взаимосвязи сервисов.
Завершив курс,
Преимущества: Понимание принципов и архитектурных характеристик микросервисов.
Определение и применение 11 распространенных шаблонов дизайна микросервисов.
Реализация шаблонов Агрегатора и API Gateway для взаимодействия сервисов.
Использование Цепочки Ответственности для организации рабочих процессов обработки запросов.
Применение асинхронного сообщения для создания слабо связанных сервисов.
Улучшение устойчивости системы с помощью шаблона Предохранителя.
Использование техник разделения и разветвления для определения границ сервисов.
Применение CQRS и Event Sourcing для распределенных рабочих процессов с данными.
Разработка специализированных backend с использованием шаблона Backend для Frontend.
Выбор подходящих шаблонов на основе потребностей в масштабируемости, устойчивости и поддерживаемости.