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