System Design · Senior · Запитання 36 з 75
Як атомарно оновити базу даних і надіслати подію в чергу?
- ✓Правильна відповідь: Outbox: подія записується в БД у тій самій транзакції
- 2Спочатку надіслати подію, потім записати в базу - порядок не важливий
- 3Надсилати подію з браузера користувача після успішної відповіді API
Пояснення
Без транзакції між БД і брокером можливі розбіжності: запис пройшов, а подія загубилася (або навпаки). Outbox-таблиця фіксує подію атомарно зі зміною, а релей публікує її з повторами (at-least-once).