Udemy [Udemy] Разработка микросервисной архитектуры с использованием шаблонов и принципов (2023)

  • Автор темы Trinity
  • Дата начала
[Udemy] Разработка микросервисной архитектуры с использованием шаблонов и принципов (2023)

1683890359787


В этом курсе мы узнаем, как проектировать микросервисную архитектуру с использованием шаблонов проектирования, принципов и передовых практик, а также с помощью итеративного проектирования архитектуры от монолитной к микросервисной. Мы будем использовать правильные шаблоны и техники проектирования архитектуры. По окончании курса вы научитесь создавать системы для обработки миллионов запросов с высокой доступностью, масштабируемостью, низкой задержкой и устойчивостью к сбоям сети в распределенных микросервисных архитектурах.
Этот курс - это путешествие в области проектирования программного обеспечения, в котором мы будем постепенно развивать архитектуру от монолитной к событийно-ориентированным микросервисам.
Мы начнем с основ проектирования программного обеспечения и создадим монолитную архитектуру электронной коммерции, которая обрабатывает небольшое количество запросов.
После этого мы постепенно будем развивать архитектуру с помощью:
  • Архитектуры с разделением на слои
  • Чистой архитектуры
  • Модульной монолитной архитектуры
  • Микросервисов
  • Событийно-ориентированных микросервисных архитектур
И, наконец, мы изучим архитектуру безсерверных микросервисов и создадим вместе архитектуру, которая может обрабатывать миллионы запросов. Это пошаговый процесс проектирования системы и ее развития от монолитной к микросервисной с использованием шаблонов и принципов.
Мы обсудим архитектуры микросервисов со всеми аспектами:
  • Разбиение микросервисов
  • Коммуникация микросервисов (синхронная / асинхронная коммуникация на основе сообщений, API-шлюзы)
  • Управление данными микросервисов (базы данных / запросы / команды)
  • Управление транзакциями микросервисов
  • Распределенное кэширование микросервисов
  • Развертывание микросервисов с использованием контейнеров и оркестраторов
  • Устойчивость микросервисов
Мы применяем шаблоны и практики проектирования микросервисов, чтобы рассмотреть их со всеми аспектами.
Мы будем проектировать архитектуру вместе пошагово и перестраивать ее со всеми аспектами опорных столбов микросервисов.
Мы начнем с проектирования монолитной архитектуры. Вы увидите, что у нас есть функциональные и нефункциональные требования, которые должны учитываться в нашем проектировании, а также инструментарий шаблонов и принципов, которые мы изучим и применим в процессе эволюции архитектуры.
Метод обучения
Мы всегда начинаем с проблемы и пытаемся решить ее, изучая и проектируя новые архитектуры, шаблоны и передовые практики.
Проблема -> Изучение -> Проектирование -> Адаптация -> Оценка
Мы завершим этот круг для каждого раздела курса. Вы увидите, что мы добавим новые требования, чтобы обрабатывать миллионы запросов, и изучим новые шаблоны и практики, которые будут использоваться в процессе эволюции архитектуры.
Вы обнаружите, что мы будем добавлять новые требования для обработки миллионов запросов и изучать новые шаблоны и практики, которые используют эти принципы при разработке архитектур.
Мы увидим, как полный набор инструментов для шаблонов и принципов загружается новыми шаблонами и применяется к текущим проектам. Мы увидим последние шаблоны, которые мы используем более чем 30 шаблонов и практик, с реализацией требований высокой масштабируемости, высокой доступности и обработки миллионов запросов.
Позвольте мне перечислить некоторые шаблоны микросервисов, которые мы рассмотрим в этом курсе:
  • Шаблон Базы Данных на Сервис
  • Шаблон API-шлюза, Маршрутизация/Агрегация/Передача Шлюза
  • Шаблон Backend для Frontend BFF
  • Шаблон Агрегатора Сервисов, Шаблон Реестра/Обнаружения Сервисов
  • Шаблон Рассылки Сообщений Fan-out Publish/Subscribe
  • Шаблон Цепочки Темы-Очереди и Балансировки Нагрузки
  • Анти-шаблон Общей Базы Данных и Многоплатформенное Хранение Данных
  • Шаблон Шардирования Базы Данных, Теорема CAP
  • Шаблон Материализованного Представления
  • Шаблоны CQRS и Событийного Хранилища
  • Шаблон SAGA — Шаблон Оркестровки/Хореографии SAGA
  • Шаблон Транзакционного Outbox
  • Проблема Двойной Записи
  • Шаблон Захвата Изменений в Базе Данных (CDC) с использованием шаблона Outbox
  • Шаблоны Хабов Событий и Потокового Распределения Событий в Архитектуре Микросервисов, Основанной на Событиях
  • Шаблон Cache-Aside для Распределенного Кэширования Микросервисов
  • Шаблон Sidecar
  • Шаблон Service Mesh
  • DevOps и Пайплайны CI/CD для Развертывания Микросервисов
  • Стратегии Развертывания для Микросервисов: Blue-green, Rolling и Canary deployments
  • Инфраструктура как Код (IaC) и ее использование
Таким образом, ход курса будет состоять из теоретической и практической информации.
Мы всегда начнем с бизнес-проблемы.
Мы изучим определенный паттерн, для чего и где его следует использовать.
После этого мы увидим референсные архитектуры, которые применяют эти паттерны.
Затем мы спроектируем нашу архитектуру, применяя только что изученный паттерн вместе.
И, наконец, мы определим, какие технологии могут быть выбраны для этих архитектур.
А в последнем разделе мы проведем код-ревью существующего репозитория архитектуры микросервисов на GitHub для практической реализации архитектуры микросервисов.
Таким образом, курс будет включать в себя:
  • Практические занятия по проектированию
  • Итеративное проектирование архитектуры от локальной до серверлесс-архитектур в облаке
  • Эволюция монолитной системы до архитектуры микросервисов, основанных на событиях
  • Переработка системного дизайна для обработки миллионов запросов
  • Применение лучших практик с паттернами и принципами дизайна микросервисов
  • Изучение паттернов микросервисов со всеми аспектами, такими как коммуникация, управление данными, кэширование и развертывание
  • Подготовка к собеседованию на должность архитектора программного обеспечения
  • Подготовка к тестированию по системному дизайну.
Я принимал участие в собеседованиях на должность архитектора в нескольких известных компаниях и участвовал в процессе оценки позиций архитекторов программного обеспечения на более чем 50 собеседованиях, собрав требования к архитектурным позициям в индустрии программного обеспечения.
Таким образом, с помощью этого курса вы получите практический опыт всех архитектурных позиций от монолитной до архитектуры микросервисов, основанных на событиях.
Этот курс предназначен для начинающих, но вы должны быть знакомы с основами архитектуры программного обеспечения. В этом курсе будет хорошо теоретическое обучение, но также он составит 90% из практических дизайн-активностей. Все шаги архитектуры курса будут разработаны поэтапно и вместе.
Я надеюсь, что вы присоединитесь ко мне в этом путешествии и разработаете этот проект со мной.

Материал на английском языке

Подробнее:
Скачать:
 

Похожие темы

Trinity
Ответы
1
Просмотры
105
Udemy.com
zrxpty
zrxpty