📤 Как работает Outbox Pattern? Это спросят на собесе

Рассмотрим работу Outbox Паттерна на примере бизнес-операции create order, transfer money. В одной транзакции одновременно сохраняются бизнес-данные в таблицу orders и событие в таблицу outbox_events. Это гарантирует, что либо всё сохранится, либо ничего — транзакция либо коммитится, либо откатывается целиком. Дальше вступает в дело relay-процесс — отдельный фоновый воркер. Он читает новые события из outbox_events и отправляет их в брокер сообщений, например Kafka или RabbitMQ. После успешной отправки событие из outbox_events удаляется или помечается как обработанное. Благодаря такой схеме вы никогда не потеряете событие и не отправите его без сохранения бизнес-данных. Про другие паттерны, про которые вас спросят на бэкенд-собеседовании, смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #outboxpattern #microservices

Иконка канала PurpleSchool
463 подписчика
12+
74 просмотра
21 день назад
12+
74 просмотра
21 день назад

Рассмотрим работу Outbox Паттерна на примере бизнес-операции create order, transfer money. В одной транзакции одновременно сохраняются бизнес-данные в таблицу orders и событие в таблицу outbox_events. Это гарантирует, что либо всё сохранится, либо ничего — транзакция либо коммитится, либо откатывается целиком. Дальше вступает в дело relay-процесс — отдельный фоновый воркер. Он читает новые события из outbox_events и отправляет их в брокер сообщений, например Kafka или RabbitMQ. После успешной отправки событие из outbox_events удаляется или помечается как обработанное. Благодаря такой схеме вы никогда не потеряете событие и не отправите его без сохранения бизнес-данных. Про другие паттерны, про которые вас спросят на бэкенд-собеседовании, смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #outboxpattern #microservices

, чтобы оставлять комментарии