C#razy
99 subscribers
215 photos
46 videos
2 files
345 links
Путь в IT, рост, менторство, поддержка, прокачка, мотивация

👨‍💻 Senior .NET dev с 12+ лет опыта
📚 Учусь в MIT по Computer Science
🖥 100+ дней подряд LeetCode
⚒️ Работаю на зарубеж
💻 Веду блог про рост в IT с нуля
🧭 Помогаю понять, куда двигаться
Download Telegram
Outbox Pattern как НЕ терять события

Вышла очередная конфа и тут озвучили Outbox с реальной подачей без преувеличения и быстрые структурные ответы на частые вопросы

Когда сервис записывает данные в БД и отправляет событие (Kafka, RabbitMQ, вебхуки), возможны проблемы:
Данные записались, но событие потерялось
Событие ушло, а данные не сохранились

Что решает этот ваш Outbox , по сути он записывает события в ту же БД откуда оно пришло😅, а потом фоновый сервис выгребает их и отправляет дальше. Вроде просто, но не просто когда есть монолит/распределённая система да и вообще это зависит от проекта)
Плюсы:
Всё согласовано и не теряется
Можно повторно обработать потерянные события

Но готовых решений по сути нет, все пишут свои велосипеды:
кто-то крутит cron, кто-то делает фоновые сервисы, кто-то ухитряется на триггерах сделать пока не видит это dba

Ссылка: YouTube

#outbox

💡 Channel | Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👨‍💻1