Доклад

Гармония по-жесткому: параллелизм и упорядоченность в Outbox

При реализации обработки фоновых задач и, в частности, паттерна Transactional Outbox, разработчики сталкиваются с противоречием: бизнес-логика требует строгого порядка обработки, а производительность — параллелизма. В докладе разбираются два подхода к обработке очереди фоновых задач:

1. Подход с использованием статусов, в котором обработку легко распараллелить, но при этом сложно упорядочить.

2. Kafka-inspired подход с использованием смещения, в котором строгий порядок заложен из коробки, но который нетривиально масштабируется и распараллеливается.

Расскажу, как проверенными на практике способами свести недостатки этих подходов к минимуму и научить статусный подход порядку, а подход со смещением — распараллеливанию. В процессе рассмотрим несколько низкоуровневых особенностей PostgreSQL, незнание которых может привести к неочевидным ошибкам.

Ключевые технологии: PostgreSQL, .NET, распределенные системы.

Спикеры

Доклады