TGViewer
System Design World System Design World @system_design_world · 6.01K subscribers
Post #389 3.39K
👨‍🎓 Outbox Pattern для System Design Интервью

❌ Сервис успел записать заказ, но не отправил событие
=> Потерян заказ, двойное списание или не консистентное состояние между сервисами.

✅ Как исправить - Outbox Pattern 📦:
• Сохраняем событие в таблицу outbox в той же транзакции, что и заказ
• Отдельный Relay/Ретранслятор/Воркер вычитывает события и публикует их в брокер
• Даже если сервис упал, запись не теряется, воркер перешлёт повторно

⚙️ Семантика
• At-least-once между outbox и брокером
• Дубликаты как осознанный компромисс ради гарантированной доставки
• Exactly-once достигается за счёт идемпотентной обработки у потребителей

💡 Зачем знать
1) Паттерн Outbox является базовым инструментом в event-driven архитектуре и частым вопросом на System Design интервью.
2) Появляется в конце интервью. Когда стартуют вопросы про повышение отказоустойчивости системы.
3) Делает ваше прохождение сильней. Увеличивает шансы на успех.

‼️ Моя статья на хабр
С уже известной вам героиней:
Outbox pattern для System Design Интервью
  • 🔥 12
  • ❤ 6
  • 👍 3
  • 🤷 1
More from @system_design_world
  1. Oct 7, 2026Константин из Авито в гостях! Константин Воливач — E6 Engineer из Авито. Покажет своё диаг…
  2. Oct 6, 2026System Design. Back to Basic. Балансировка. Пробую новый формат. Посмотрите, пожалуйста, к…
  3. Oct 5, 2026🧩 Харнесс здорового человека 20+ лс обошёл ☑️ В четверг вечером подробней с Савелием расс…
  4. Oct 5, 2026🔤 Диаграммы в System Design. • Раскрывает тему Константин Воливач — E6 Engineer из Авито.…
  5. Oct 4, 2026Post #772
  6. Oct 4, 20261️⃣ В четверг соберём с желающими закрытую встречу, где расскажем подробней про наполнение…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →