Это вопрос обыденного пользователя.
Когда бронируешь билет на самолет,то если ты начинаешь вводить данные банковской карты,то всех других пользователей,которые рассматривают это место, выкидывает.
Так вопрос, скорость света не конечная,скорость обработки сигнала тоже, какой-то пользователь банально ближе находится к серверу обработки.
Вопрос-почему не бывает сбоев. Никто же не отменяет случая,что два или больше пользователя одновременно выберут место,одновременно начнут вводить данные карты,одновременно отправят запрос.
изучайте транзакции их уровни изоляции
хотел было кинуть материал, но мне интересный материал не совсем вам подходит, а начальный (как оказалось) я не могу оценить по полезности... крч сходу годный не нашел
В таких системах обычно используется оптимистическая блокировка. Если два пользователя одновременно оформляют одно место, то закончивший последним получит сообщение, что место занятно.
1. Есть такая штука - инвенторно-дистрибутивная система, еще называют GDS. В самолетах их исторически 4 крупных: Amadeus, Galileo, Worldspan, Sabre + есть какое-то количество авиакомпаний которые изобрели свои велосипеды. Все билеты авиакомпании заведены в какую-то конкретную единственную систему, которая и ведет их учет.
2. В рамках монолитной системы (вдобавок не самой производительной) не сложно сделать так чтобы сбоев не было. Ключевые слова для изучения: атомарная операция, sql, транзакции, уровни изоляции, cap теорема.
3. Конкретно в авиации есть понятие овербукинг - когда на самом деле бронируется и выкупается больше билетов чем физически есть мест в самолете. Это не имеет технологической подоплеки, это чисто бизнес-решение выгодное авиакомпаниям.
Это не имеет технологической подоплеки, это чисто бизнес-решение выгодное авиакомпаниям.
Ну это скорее,выгода если произойдет сбой(ведь никто их не отменял?!)
Сбой произошел,но никто не заметил.(почему?)потому что на каждый рейс,есть те кто попросту не приходит.