SDCast #60: в гостях Иван Круглов, програмист Booking.com

sd-podcast-logoРад представить вам 60-й выпуск SDCast’а! У меня в гостях Иван Круглов, програмист Booking.com. Некоторое время Иван занимался разработкой подсистемы поиска отелей, именно об этом и пойдёт речь в этом выпуске.

Офис разработки Booking.com расположен в Амстердаме и в начале Иван рассказал как он туда попал. Поделился опытом прохождения интервью, подготовкой к собеседованиям в различных российских, европейских и американских компаниях.

Обсудили архитектуру поиска отелей: как в целом оно работает, из каких компонентов и сервисов состоит, на каких языках/платформах написано. Иван рассказал как эволюционировала система в целом, как она была устроена в начале, какие появлялись узкие места и как они в дальнейшем разрешались.

Иван рассказал про то, как они ушли от баз данных MySQL к встраиваемому решению, а именно RocksDB. Рассказал про материализацию данных для поиска, шардирование данных и эффективную обработку запросов.

Так же Иван немного рассказал про то, как у них происходит выкладка изменений в продакшн, мониторинг и обслуживание системы.

Ссылки на ресурсы по темам выпуска:

  • Доклад Ивана “Архитектура поиска в Booking.com” с Highload++ (видео, слайды)
  • RocksDB. A persistent key-value store for fast storage environments

Понравился выпуск? — Поддержи подкаст на patreon.com/KSDaemon а так же ретвитом, постом и просто рассказом друзьям!

Скачать (mp3, 36 MB) Скачать (ogg, 28 MB)
  • Ruslan Hanov

    Было интересно

  • Rdev

    Спасибо за подкаст! Хорошее у вас там NDA, если столько рассказывать можно…

  • demas

    В подкасте речь шла о том, что много времени занимает расчет матрицы цен, в зависимости от разных параметров.
    А у меня не технический вопрос – а разве цены устанавливает не отель, который размещает данные на booking.com?

    Можно попросить Ивана ответить на этот вопрос? То есть, не о том, как их считают (тут я более менее понял), а откуда вообще берет ся потребность их считать? Почему это не значение, которое устанавливает отель?

    • Ivan Kruglov

      Приветствую. Отель выставляет цены на конкретные дни и на конкретных условиях. Задача букинга подобрать номер соответсвующий критериям поиска и рассчитать цену на требуемый период. Ключевое отличие – это период, не отдельные дни. Т.е. финальная цена это комбинация цен на несколько дней (которые дал букингу отель).

      • demas

        Спасибо. Понятно. Тогда, наверное, еще правильнее сказать “сумма цен на несколько дней”, а не “комбинация” ?

        • Ivan Kruglov

          Комбинация все таки более подходящий термин на мой взгляд. Там все сложно. Точнее не могу сказать, сами понимаете :-)

  • Александр Титов

    Можно ссылку на языковую школу? Стоит ли она своих денег?

    • Конечно можно! Что-то в пятницу дискус глючил, нифига не отправлялось.

      • Так а где ссылка то?.. ;)

        • Ivan Kruglov

          написал выше

    • Ivan Kruglov

      Я ездил в Kaplan International English School in Berkeley, CA (https://www.kaplaninternati…. Стоила ли она своих денег? Для меня – да. Но тут стоит учесть, что на тот момент у меня уже был достаточно хороший английский. Я ездил больше чтобы разговорится и окончательно побороть языковой барьер.