Перейти к содержимому

Tutu / Туту - (системный дизайн)

Актуальность: 3 кв 2025

Задача: Есть несколько поставщиков отелей, данные от которых нужно собрать, обогатить собственными данными Туту и положить в хранилище для поиска. Поставщики позволяют сделать первоначальную загрузку дампа на 3 млн отелей, затем ежедневно присылают инкремент. Протокол передачи данных и наборы полей с информацией об отелях у всех поставщиков разные. Задание: построить систему, которая позволит собирать данные поставщиков и хранить их для дальнейшего поиска по отелям. architecture/system-design

Заголовок раздела «Задача: Есть несколько поставщиков отелей, данные от которых нужно собрать, обогатить собственными данными Туту и положить в хранилище для поиска. Поставщики позволяют сделать первоначальную загрузку дампа на 3 млн отелей, затем ежедневно присылают инкремент. Протокол передачи данных и наборы полей с информацией об отелях у всех поставщиков разные. Задание: построить систему, которая позволит собирать данные поставщиков и хранить их для дальнейшего поиска по отелям. architecture/system-design»
+------------+ +------------+ +------------+
| provider 1 | | provider 2 | | provider 3 |
+------------+ +------------+ +------------+

Есть сервисы Card/SBP/Coupon, у которых есть своих хранилища и они могут отдавать информацию по платежам (как по конкретному, так и список с пагинацией и т. д.). Есть личный кабинет пользователя, в котором он видит список всех своих платежей (по всем видам платежей), где в карточке платежа ограничьенная информация по нему и ссылка на страницу с более подробной информацией. Необходимо разработать архитектуру взаимодействия сервисов между собой для оптимального решения этой задачи. Упрощение - один платеж = один тип платежа (смешанные не рассматриваем, например купон + карта, такое опускаем).

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

  • 1-я страница с общим списком заказов. Заказы могут быть на разный вид транспорта - поезд, автобус, самолет. На ней отражена базовая информация о заказе; architecture/system-design
  • 2-я страница - это детальная информация по каждому заказу. architecture/system-design
  • Есть 3 отдельных БД с заказами по каждому виду транспорта. sql/general