Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Как реализовать гарантированную доставку сообщений между микросервисами (паттерны Outbox, Saga)?
Основные паттерны:
Outbox: Сохранение сообщений в БД в рамках транзакции перед отправкой
Saga: Оркестрация распределённой транзакции через последовательность событий с компенсациями
Что такое Outbox Pattern? Как он помогает обеспечить надежную доставку?
Outbox Pattern — это шаблон, при котором сообщения сохраняются в БД вместе с основными изменениями, а затем считываются и отправляются в брокер асинхронно. Это гарантирует, что данные и события не расходятся при сбоях.
Что такое transactional outbox и зачем он нужен?
Transactional outbox — это способ гарантированной доставки сообщений между сервисами. Он сохраняет сообщение в БД в рамках бизнес-транзакции, а затем отправляет его асинхронно.
Что такое transactional consistency в контексте Outbox?
Transactional consistency гарантирует, что бизнес-операция и сообщение в outbox сохраняются в одной транзакции. Это предотвращает потерю данных при сбое.
Как устроен Outbox-паттерн и зачем он нужен?
Outbox-паттерн сохраняет сообщение в таблицу вместе с изменением состояния, а потом отдельный процесс (consumer) читает и отправляет их в Kafka. Это обеспечивает атомарность между БД и очередью.
Что такое паттерн Outbox? Для чего он используется?
Что такое pattern outbox?
Что такое transactional outbox и зачем он используется?
Рейтинг:
2
Сложность:
8
Паттерн Outbox — это подход для надежной отправки сообщений в рамках транзакции с базой данных. Он используется для гарантии того, что сообщение (например, о событии) будет отправлено во внешнюю систему (например, брокер сообщений) только если соответствующая транзакция в БД будет успешно завершена. Это предотвращает рассогласованность данных.
Рейтинг:
2
Сложность:
8
Pattern Outbox — это подход для надежной отправки сообщений в распределенных системах. Сообщения сначала сохраняются в специальную таблицу "outbox" в той же транзакции, что и бизнес-данные. Затем отдельный процесс читает из outbox и отправляет сообщения в message broker, гарантируя exactly-once доставку.
Рейтинг:
5
Сложность:
7
Transactional outbox — это паттерн, при котором бизнес-данные и событие записываются в одну транзакцию базы данных. Событие сохраняется в специальную outbox-таблицу. Отдельный процесс позже читает эту таблицу и публикует события в брокер. Это устраняет проблему “данные сохранились, а событие не ушло” или наоборот. Паттерн часто используют в микросервисах с асинхронным взаимодействием.
Рейтинг:
2
Сложность:
5
Рейтинг:
1
Сложность:
7
Рейтинг:
5
Сложность:
7
Рейтинг:
5
Сложность:
6
Рейтинг:
5
Сложность:
7