Эволюция борьбы с гонками в WMS Ozon: как мы обрабатываем миллионы операций и избегаем рассинхронизации данных
Доклад принят в программу конференции
Целевая аудитория
Тезисы
Любой разработчик рано или поздно сталкивается с проблемами консистентности данных, неважно, систему какого масштаба он проектирует. Чаще всего причиной потери консистентности являются гонки.
К сожалению, у гонок есть одна большая проблема — их невозможно нормально выявить при тестировании, а выскакивают они в самый неприятный момент, иногда даже без особой нагрузки. Самый лучший способ решения гонок — писать приложение так, чтобы их просто не было, а для этого нужно уметь видеть маркеры и находить подводные камни на этапе проектирования.
В своём докладе я расскажу о первопричинах гонок и при чём тут линеаризуемость, как не допустить гонки на разных уровнях системы — от переменных до микросервисов — и как добавить в это уравнение саги. В общем поговорим про правильное обновление данных в master- и masterless-системах.
Руководитель разработки WMS "Возвраты селлерам"
Вывозим и утилизируем со склада всё, что не продается.
Видео
Другие доклады секции
Архитектура и масштабируемость