@Jungles
Молодой и зелёный

Запросов много,а объект один?

Это вопрос обыденного пользователя.
Когда бронируешь билет на самолет,то если ты начинаешь вводить данные банковской карты,то всех других пользователей,которые рассматривают это место, выкидывает.
Так вопрос, скорость света не конечная,скорость обработки сигнала тоже, какой-то пользователь банально ближе находится к серверу обработки.
Вопрос-почему не бывает сбоев. Никто же не отменяет случая,что два или больше пользователя одновременно выберут место,одновременно начнут вводить данные карты,одновременно отправят запрос.
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
В таких системах обычно используется оптимистическая блокировка. Если два пользователя одновременно оформляют одно место, то закончивший последним получит сообщение, что место занятно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Ух.

1. Есть такая штука - инвенторно-дистрибутивная система, еще называют GDS. В самолетах их исторически 4 крупных: Amadeus, Galileo, Worldspan, Sabre + есть какое-то количество авиакомпаний которые изобрели свои велосипеды. Все билеты авиакомпании заведены в какую-то конкретную единственную систему, которая и ведет их учет.

2. В рамках монолитной системы (вдобавок не самой производительной) не сложно сделать так чтобы сбоев не было. Ключевые слова для изучения: атомарная операция, sql, транзакции, уровни изоляции, cap теорема.

3. Конкретно в авиации есть понятие овербукинг - когда на самом деле бронируется и выкупается больше билетов чем физически есть мест в самолете. Это не имеет технологической подоплеки, это чисто бизнес-решение выгодное авиакомпаниям.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы