[ Митап 20 ]
[ Транзакции и data constistency в микросервисах. Шаблон Saga ]
20-ый онлайн митап Software Craftsmanship будет посвящен поддержанию целостности данных в микросервисной архитектуре
Даже при грамотном построении микросервисной архитектуры иногда приходится транзакционно обновлять данные сразу в нескольких микросервисах, или, например, обновлять данные в одном микросервисе и при этом "транзакционно" отправлять ивент в другие микросервисы. Нарушения или ошибки в подобных транзакциях приводят к расхождению данных, хранящихся в базах разных микросервисов, эти расхождения накапливаются, и в результате вся система начинает вести себя непредсказуемо.
Существует несколько типовых решений для подобных ситуаций.
Мы рассмотрим:
Шаблон Transactional Outbox
Механику двухфазного коммита
Шаблон Saga вместе с Compensating transaction
Какие проблемы вызывают эти шаблоны на практике, и как сводить транзакции к eventual constistency в тех случаях, где это возможно
[ План митапа ]
Распределенные транзакции в микросервисах
Теоремы CAP и PACELC
01
Отправка event или command message
  • Почему здесь нужна транзакционность?
  • Шаблон Transactional Outbox
02
Обновление данных в двух микросервисах
  • Когда здесь нужна транзакционность?
  • Механизм двухфазного коммита
03
Обновление данных более чем в двух микросервисах
  • Что будет если нарушить транзакционность?
  • Шаблоны Saga и Compensating Transaction
  • Необходимость 3rd level support
04
Пробуем сводить к eventual constisency
05
[ Ведущий митапа ]
Павел Вейник
CEO в Hard&Soft Skills
Разработчик с 2003. Работал в EPAM, Workfusion, в других продуктовых и сервисных компаниях, как очень маленьких, так и в корпорациях. Специализации - архитектура распределенных систем, highload, микросервисы, прикладная лингвистика, системная инженерия.
Опыт в ролях разработчика, менеджера и архитектора позволяет видеть проблемы с разных точек зрения.
Сейчас выполняет архитектурные задачи в компании EPAM.
20-й Митап проводится при поддержке компании SaM Solutions
[ Регистрация на митап ]
3 ноября 19:30
Все данные защищены