Чему вы научитесь
- Вы научитесь использовать паттерн Saga для управления распределенными транзакциями в микросервисных системах.
- Поймете, чем отличаются подходы оркестрации и хореографии для построения саг, их преимущества и недостатки, области применимости.
- Ознакомитесь с терминологией Saga, например что такое и зачем нужны CorrelationID, CausationId, почему микросервисы это BASE, а не ACID системы.
- Поймете, как реализовать изоляцию транзакций в Saga, изучите виды аномалий, такие как Lost Update и Dirty Read, и и способы их предотвращения или обработки.
О курсе
О курсе
Курс посвящен освоению одного из ключевых паттернов для работы с микросервисами. Вы изучите, как управлять сложными бизнес-процессами, которые требуют координации множества действий в распределенных системах. Этот курс углубленно рассмотрит два подхода — оркестрацию и хореографию Saga, а также их влияние на согласованность данных и производительность системы.
Цели курса
Курс направлен на то, чтобы научить вас:
- Применять паттерн Saga для распределенных транзакций в микросервисных архитектурах.
- Понимать преимущества, недостатки и область применимости оркестрационного и хореографического подхода к построению саг.
- Знать технические тонкости в реализации саг (например, что такое и зачем нужны causationID, correlationId, как строить саги с параллельными шагами, понимать отличия ACID и BASE систем в контексте Saga).
- Управлять проблемами согласованности данных, различать и обрабатывать аномалии данных (Lost Update, Dirty Read) в сагах.
- Проектировать процессы с изоляцией транзакций и предотвращением ошибок.
Почему стоит выбрать этот курс
Если вы работаете с микросервисами или хотите глубже погрузиться в распределенные системы, этот курс поможет вам освоить важнейший инструмент — паттерн Saga. Вы разберетесь в ключевых подходах к управлению транзакциями в микросервисах, научитесь избегать распространенных ошибок и сможете проектировать сложные, масштабируемые системы с учетом распределенной природы данных.
Разделы курса
- Введение в Saga и 2PC (Two-phase Commit)
- Оркестрация и хореография Saga: преимущества и недостатки
- Изоляция транзакций и согласованность данных
- Аномалии Lost Update и Dirty Read и методы их предотвращения
- Модель ACID в контексте Saga
- Примеры из реальной практики
Для кого этот курс
Начальные требования
Для успешного освоения курса потребуется базовое понимание микросервисных архитектур и распределенных систем. Знание принципов работы транзакций, таких как ACID, и базовые навыки работы с системами управления базами данных (SQL/NoSQL) будут полезны. Также желательно иметь опыт программирования на одном из популярных языков (Java, C#, Python и т.д.)