Перейти к содержимому
Назад к проектам
Интеграция API2023

Интеграция с внешней билетной системой

Асинхронный слой интеграции для данных об аэропортах, маршрутах и доступности

Закрытый проект

Масштабируемая асинхронная интеграция с внешним API для данных об аэропортах, маршрутах, расписаниях рейсов и доступности мест, построенная на переиспользуемых экстракторах, трансформерах и типизированных схемах.

Технологический стек

FastAPIhttpxPydanticAsync PythonREST APIsDocker

Проблема

Продукту требовались актуальные данные о расписании и доступности от внешнего провайдера бронирования, при этом сам upstream API был медленным, непоследовательным по структуре и ненадёжным.

Решение

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

Технический вклад

Спроектирована архитектура асинхронного клиента, контракты схем Pydantic между этапами извлечения и трансформации, стратегия повторных попыток и обработки ошибок upstream-сервиса.

Архитектура

Асинхронные httpx-клиенты передают данные в пайплайн экстракторов и трансформеров, модели Pydantic обеспечивают типизированные контракты на каждом этапе перед передачей данных в приложение.

Производительность

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

Безопасность

Учётные данные upstream-провайдера изолированы в интеграционном сервисе, строгие тайм-ауты и circuit breaking предотвращают каскадные сбои.

Модель развёртывания

Работает как контейнеризированный сервис с независимым масштабированием от основного приложения, развёрнут через Docker.

Результат

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