Авторизация
Забыли пароль?
Сброс пароля
Вернуться к авторизации
Digital-кейс дня

Разработка backend-архитектуры масштабируемого сервиса бронирования отелей для MTC Travel

Вхождение в кейс дня

27 июня ‘25

Заказчик: ПАО "МТС"
Страница кейса/результат: https://travel.bronevik.com/

Cоздание устойчивой, производительной и гибкой backend-инфраструктуры для онлайн-сервиса бронирования отелей.

Агентство-исполнитель кейса

Brief

Мы предлагаем сделать ваш бизнес масштабнее, сильнее, прогрессивнее и прибыльнее. Изучите наш кейс с ПАО "МТС" и, при желании, оставьте заявку на рассмотрение вашей задачи для нас!

1. Вводная задача от заказчика, проблематика, цели

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

Заказчиком выступил онлайн-сервис бронирования, который столкнулся с рядом ограничений:

  • Устаревшая, монолитная структура, затрудняющая масштабирование и подключение новых партнёров.
  • Отсутствие умных механизмов поиска и ранжирования отелей.
  • Недостаточная прозрачность ценовой политики в сравнении с конкурентами.

2. Описание реализации кейса и творческого пути по поиску оптимального решения

Этапы реализации

1. Исследование и анализ

На первом этапе мы провели глубинный анализ существующей системы и бизнес-потребностей:

  • Проанализировали поведение пользователей и выявили, что большинство затрудняется при вводе названий отелей и городов.
  • Изучили конкурентные платформы, чтобы понять, какие фичи повышают доверие и увеличивают конверсию.
  • Сформировали ключевые бизнес-метрики: конверсия в бронирование, точность подсказок, количество показов конкурентных цен.

Вывод: необходимо реализовать три ключевых компонента:

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

2. Проектирование архитектуры

На основе анализа мы выбрали микросервисную архитектуру с изолированной ответственностью каждого компонента. Основные принципы:

  • Распределённая отказоустойчивая система.
  • Простота масштабирования и расширения.
  • Инфраструктура, готовая к высоким нагрузкам.

Ключевые технологии:

  • Go — за счёт производительности и скорости старта сервисов.
  • Elasticsearch — идеален для полнотекстового поиска и автодополнения.
  • MongoDB — удобен для хранения конкурентных цен с гибкой схемой.
  • Kafka — для асинхронной передачи бигдат-потоков.
  • Redis — для ускорения выдачи подсказок и снижения нагрузки.
  • Kubernetes + Helm — управляемое развёртывание в кластере.

3. Реализация компонентов

Suggester — сервис автодополнения

Цель: предоставить пользователю точные и релевантные подсказки при вводе локаций и названий отелей.

Что сделано:

  • Построен отдельный сервис на Go, работающий с Elasticsearch.
  • Спроектированы индексы с учётом веса частоты запросов, приоритета отелей и пользовательских паттернов.
  • Настроена интеграция с Redis для кэширования популярных запросов.
  • Добавлены бизнес-метрики: CTR по подсказкам, процент успешных завершений поиска после использования Suggester.

Результат: сокращение времени на поиск, увеличение завершённых бронирований на 7%.

Competitors Pricing — сервис конкурентных цен

Цель: показать пользователю выгоду от бронирования на платформе через шильдик "У нас дешевле".

Что сделано:

  • Разработан Kafka-консьюмер, получающий поток данных от партнёров и агрегаторов.
  • Реализована очистка и нормализация ценовых данных.
  • Информация сохраняется в MongoDB для быстрого доступа.
  • Из основного поискового сервиса добавлен запрос к этому микросервису, чтобы обогащать выдачу данными о цене конкурентов.

Метрики:

  • Кол-во цен по провайдерам.
  • Частота показа шильдика.
  • Влияние на пользовательскую конверсию.

Результат: повышено доверие пользователей, рост кликов на карточки с пометкой "дешевле", усиление конкурентного преимущества платформы.

Поисковый движок и интеграции с провайдерами

Цель: улучшить релевантность выдачи и упростить подключение новых поставщиков.

Что сделано:

  • Реализована новая сортировка на основе рекомендательной логики: учитываются тарифы, рейтинг, скидки.
  • Для расчётов выгружались тарифные данные с S3 и использовались в вычислении кастомного рейтинга.
  • Удалена жёсткая привязка к конкретным провайдерам — теперь каждый провайдер подключается как отдельный модуль через конфигурацию.

Результат: система стала гибкой и расширяемой, что позволило подключить новых поставщиков без доработки ядра.

4. Тестирование и развёртывание

  • Написаны unit-тесты и интеграционные тесты для всех компонентов.
  • Проведено нагрузочное тестирование, симулирующее реальную нагрузку в пиковые часы.
  • Использована инфраструктура на Kubernetes, сборка и деплой через Helm Charts.
  • Настроено логирование и мониторинг через ELK, Prometheus и Grafana.

5. Поддержка и развитие

  • Постоянно дорабатываются метрики.
  • Проходят A/B тесты для улучшения алгоритмов подсказок и сортировки.
  • Подключаются новые провайдеры и каналы данных.
  • Идёт оптимизация индексов в Elasticsearch по данным использования.

Команда проекта

  • 3 backend-разработчика (Go)
  • 1 frontend-разработчик
  • 1 QA-инженер
  • 1 тимлид

3. Результаты сотрудничества

Результаты проекта

  • Время отклика поиска снижено на 40%.
  • Конверсия в бронирование выросла на 11% после внедрения рекомендательной логики и конкурентных цен.
  • Сокращено время подключения нового провайдера с 2 недель до 2 дней.
  • Пользовательский опыт улучшен благодаря автодополнению и прозрачной ценовой политике.
  • Архитектура готова к масштабированию и дальнейшему развитию.

4. Заключение

Проект доказал, что продуманная архитектура backend и ориентированность на бизнес-метрики позволяют не только масштабировать продукт, но и добиться реального роста пользовательской активности.

Наш кейс демонстрирует, как технологии Go, Kafka, Elasticsearch и микросервисный подход решают сложные задачи реального бизнеса и делают платформу конкурентоспособной на рынке.

Агентство-исполнитель кейса

Brief

Мы предлагаем сделать ваш бизнес масштабнее, сильнее, прогрессивнее и прибыльнее. Изучите наш кейс с ПАО "МТС" и, при желании, оставьте заявку на рассмотрение вашей задачи для нас!