Я продал одно место на концерт 20 раз. Разбираемся, как правильно защититься от race condition в Spring Boot

Wait 5 sec.

Однажды я решил проверить на практике байку, которую слышал на десятке собеседований: “у нас на проде было такое-то место продано дважды, потому что…”. Оказалось, воспроизвести это не просто легко — это воспроизводится настолько надёжно и настолько наглядно, что грех было не довести дело до конца: взять систему бронирования мест, специально сломать её, замерить, насколько плохо, а потом последовательно починить тремя разными способами — и честно сравнить, что каждый из них стоит по производительности.Спойлер: один из результатов оказался прямо противоположным тому, что я ожидал увидеть. Читать далее