Transaction Outbox под нагрузкой: как не потерять ни одного события при 100k+ RPS

Архитектура и масштабируемость

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Как гарантировать доставку каждого события при экстремальных нагрузках? Разберём оптимизации WAL, zero-copy публикацию и асинхронное чтение с реплик. Плюс — когда Outbox превращается в антипаттерн. Практика, а не теория!

Целевая аудитория

Разработчики распределённых систем, архитекторы, SRE

Тезисы

Когда ваш сервис обрабатывает сотни тысяч транзакций в секунду, потеря даже одного события может стоить бизнесу миллионы. Transaction Outbox кажется простым паттерном, пока не начинает ломаться под реальной нагрузкой: WAL переполняется, реплики отстают на часы, а CDC-коннекторы падают от back-pressure.

Я помогаю масштабировать событийную архитектуру от тысяч до сотен тысяч событий в секунду. В докладе поделюсь болезненными уроками: как сделать outbox под 100k+ событий/сек, оптимизация WAL.

Вы узнаете конкретные техники оптимизации: от zero-copy публикации до асинхронного чтения с реплик. Разберём архитектурные решения для горизонтального масштабирования и построения observability, которая действительно поможет в 3 утра при инциденте.

И главное — обсудим честно, когда Outbox становится антипаттерном и пора переходить к другим решениям.

Team leader.

Видео

Другие доклады секции

Архитектура и масштабируемость