События и команды 😕 база
Чем событие отличается от команды?
Команда — «сделай это», адресована конкретному получателю. Событие — «это случилось», объявляется всем желающим без ожидания реакции.
События и команды 😕 база
Как принято называть события и команды?
Команды — в повелительном наклонении (CancelOrder), события — в прошедшем времени (OrderCancelled): факт уже свершился.
События и команды 🤓 уверенно
Почему события снижают связанность между сервисами?
Издатель не знает подписчиков: можно добавить нового потребителя события, не меняя код сервиса, который его публикует.
События и команды 🤓 уверенно
Приведи пример: что произойдёт при событии OrderCancelled?
Каждый подписчик реагирует по-своему: email-сервис шлёт письмо, склад снимает резерв, аналитика обновляет статистику — независимо.
События и команды 🧐 глубоко
Когда событийная модель не подходит и нужен синхронный вызов?
События и команды 🧐 глубоко
Что такое event storming и зачем он на проектировании?
События и команды 😎 про
Что такое Event Sourcing и чем он отличается от хранения текущего состояния?
События и команды 😎 про
Как обеспечить порядок обработки событий, если он важен?
Saga 😕 база
Какую проблему решает паттерн Saga?
Операция затрагивает несколько сервисов с разными базами, а единой транзакции через них не бывает — Saga заменяет её цепочкой шагов.
Saga 😕 база
Что такое компенсирующее действие?
Действие-отмена для уже выполненного шага: списали деньги, а следующий шаг упал — компенсация вернёт деньги.
Saga 🤓 уверенно
Чем хореография отличается от оркестрации в Saga?
Хореография — сервисы реагируют на события друг друга, без центра. Оркестрация — отдельный координатор командует каждым шагом.
Saga 🤓 уверенно
Когда выбирают оркестрацию вместо хореографии?
Для сложных саг с условной логикой и многими шагами: весь процесс виден в одном месте, легче отлаживать.
Saga 🧐 глубоко
Почему необратимые шаги (отправка письма) ставят в конец саги?
Saga 🧐 глубоко
Что такое идемпотентность и почему она критична для шагов саги?
Saga 😎 про
Что такое Transactional Outbox и какую проблему он решает?
Saga 😎 про
Как отлаживать сагу, размазанную по пяти сервисам, в проде?