Применение паттерна saga в system design - Антон Цитульский, Тинькофф

Поділитися
Вставка
  • Опубліковано 7 лют 2025

КОМЕНТАРІ • 2

  • @anton.tsitulskiy
    @anton.tsitulskiy День тому

    Предложенное решение не накладывает ограничение с синхронным ожиданием :)
    Достаточно просто зафиксировать факт заказа(стейт бизнес-процесса) и вызвать оркестратор, который и будет выполнять шаги бизнес-процесса. И по мере этого выполнения может изменяться статус заказа, в том числе возникать различные причины отмены(закончились места, не прошла оплата и тд)

  • @gorynych55
    @gorynych55 9 місяців тому

    Материал хорошо изложен. Спасибо. 5 копеек про паттерн outbox, кажется пример нет очень удачно подобран. На другом конце сидит пользователь и в синхроне ждет , что его переведут на оплату например, мы не можем этого сделать, так не отправили сообщение о бронировании. При таком кейсе надо думать доп сценарий , сейчас не можем зайдите позже. Но это лишнее усложне, с непонятой конверсией. Делать это придется во всех сервисах. На мой взгляд в таких кейсах лучше сразу отказать по техническим причинам и откатить , что необходимо, запомнить д данные заявки и пригласить клиента снова создать заявку после решения проблем. Данные старой заявки использовать для автозаполнения. Т.е. когда есть "синхронный" путь клиента применять паттер outbox надо оценивая , как меняется сценарий клиента и сколько сложности это добавит.