Варианты реализации SAGA

preview

SAGA - один из первых шаблонов для реализации транзакционной логики в распределенных системах. Он появился раньше чем микросервисная архитектура, но особую популярность приобрел вместе с микросервисами.

Идея шаблона сводится к идии "целостность в конечном итоге", он состоит из цепочки нод, которые имеют свое состояние и работают по транзакционной модели ACID, каждая из нод либо выполняет транзакцию, либо инициирует цепочку отмены транзакции.

Взаимосвязь нод строится на базе событий, которые могут распространяться как синхронно, так и асинхронно.

SAGA шаблон

Варианты реализации

Duration: 7

  • Атомарность vs Модульность
  • Синхронность vs Асинхронность
  • Оркестрация vs Хореография

Варианты реализации

Существует восемь основных комбинаций этих свойств, которые дают разные варианты реализации SAGA:

  • атомарность + синхронность + оркестрация
  • атомарность + асинхронность + оркестрация
  • модульность + синхронность + оркестрация
  • модульность + асинхронность + оркестрация
  • атомарность + синхронность + хореография
  • атомарность + асинхронность + хореография
  • модульность + синхронность + хореография
  • модульность + асинхронность + хореография

Атомарность + синхронность + оркестрация

Duration: 7

Варианты реализации Схема

Атомарность + асинхронность + оркестрация

Duration: 7

Варианты реализации Схема

Модульность + синхронность + оркестрация

Duration: 7

Варианты реализации Схема

Модульность + асинхронность + оркестрация

Duration: 7

Варианты реализации Схема

Атомарность + синхронность + хореография

Duration: 7

Варианты реализации Схема

Атомарность + асинхронность + хореография

Duration: 7

Варианты реализации Схема

Модульность + синхронность + хореография

Duration: 7

Варианты реализации Схема

Модульность + асинхронность + хореография

Duration: 7

Варианты реализации Схема