Быстро хорошо не бывает

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

В чём причина такой неторопливости? И можно ли добиться ускорения?
Давайте разберёмся.

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

Пример:
Перелёт СПб-Омск-СПб с вылетом туда 15.02.21 и обратно 17.02.21.
Поиск билета осуществлялся 05.02.21 примерно в 17.30.
Skyscanner.ru показал, что самая низкая цена — 9430 руб. — у Kupibilet.ru. 
При переходе на сайт Kupibilet.ru обнаружилось, что цена — 10187 руб.

Бытует мнение, что это хитрая маркетинговая уловка. Дескать, продавец умышленно предоставляет агрегатору заниженную цену, чтобы заманить клиентов на свой сайт. А потом выдаёт реальную цену в надежде, что клиенту будет лень бродить по сети в поисках экономии. 

Дело, однако, не в жуликоватости продавцов. Дело – в кэше. Не в том, который нал, а в том, который «промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью». Если, получая запросы пользователей, агрегатор будет каждый обращаться к поставщикам информации, это очень сильно замедлит его работу. Поэтому данные запрашиваются “превентивно” и загружаются в буфер, откуда могут быть извлечены в течение долей секунды.

Но агрегатор имеет дело с десятками и сотнями поставщиков данных, и данные эти обновляются ежеминутно. Поддержание их в неизменно актуальном состоянии — дело чрезвычайно затратное. В целях экономии содержимое буфера обновляется с немалыми интервалами. Поэтому, заходя на сайт агрегатора, потенциальный клиент имеет дело с данными, актуальность которых сомнительна. 

Иногда разница между содержимым буфера и реальностью оказывается столь существенной, что провоцирует ступор или взрыв возмущения. Но владельцев агрегаторов это не смущает. Они точно знают, что клиентов сегмента «b2c» медленная загрузка отпугивает гораздо сильнее, нежели фокусы с ценами. И продолжают использовать кэш с нечастым обновлением. 

Однако то, что является нормой для «b2c», в «b2b» совершенно непозволительно. Мы не можем допустить, чтобы нашим клиентам достался хотя бы байт неактуальной информации. Поэтому система Starliner кэша не имеет, и все предоставляемые ею данные безукоризненно актуальны и достоверны. 

К сожалению, за достоверность приходится платить. Но согласитесь: несколько секунд ожидания – это не слишком высокая цена.