Погоняем? Зачем аналитику знать о Race Condition
- AnalystDays / 23
-
20 мин
Несколько параллельных процессов должны ускорять обработку данных. Но что произойдёт, если каждый из них увидит одни и те же записи и решит, что работать с ними должен именно он?
В докладе разберём, что такое race condition, почему отдельные корректные операции приводят к некорректному общему результату и какими способами можно управлять конкурентным доступом к данным.
На примере высоконагруженной платформы покажу, как два параллельных процесса могли одновременно начать автопродление одной подписки и создать два разных платежа. Разберу, почему наличие idempotency key само по себе не решает проблему.
Поговорим о транзакционных границах, атомарности и идемпотентности. Разберём, почему два технически корректных запроса могут оказаться дублями одной бизнес-операции и как спроектировать защиту от этого на уровне системы.