Эволюция борьбы с гонками в WMS Ozon: как мы обрабатываем миллионы операций и избегаем рассинхронизации данных

30 ноября, 14:40, «Пекин-Шанхай»

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

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

Интересный практический взгляд на race condition от специалистов Ozon.

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

Разработчики от Junior до Senior — все, кто пишет и проектирует распределённые системы.

Тезисы

Любой разработчик рано или поздно сталкивается с проблемами консистентности данных, неважно, систему какого масштаба он проектирует. Чаще всего причиной потери консистентности являются гонки.

К сожалению, у гонок есть одна большая проблема — их невозможно нормально выявить при тестировании, а выскакивают они в самый неприятный момент, иногда даже без особой нагрузки. Самый лучший способ решения гонок — писать приложение так, чтобы их просто не было, а для этого нужно уметь видеть маркеры и находить подводные камни на этапе проектирования.

В своём докладе я расскажу о первопричинах гонок и при чём тут линеаризуемость, как не допустить гонки на разных уровнях системы — от переменных до микросервисов — и как добавить в это уравнение саги. В общем, поговорим про правильное обновление данных в master- и masterless-системах.

Спикеры

Максим Рауба
Руководитель разработки WMS "Возвраты селлерам" Вывозим и утилизируем со склада всё, что не продаётся.

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