Встречается на собеседованиях • сегодня

Есть три сервиса с тремя разными базами данных — как ты будешь забирать данные из всех сервисов

Для интеграции данных из разных сервисов с разными БД можно использовать несколько подходов:

  1. API Gateway — создаем единую точку входа, которая агрегирует данные из всех сервисов:
python
# Пример FastAPI агрегатора
@app.get("/combined-data")
async def get_combined_data():
    service1 = await fetch_service1()
    service2 = await fetch_service2() 
    service3 = await fetch_service3()
    return {**service1, **service2, **service3}
  1. Event-Driven Architecture — сервисы публикуют события в брокер (Kafka, RabbitMQ), а потребитель собирает данные:
python
# Пример подписчика на события
async def handle_event(event):
    store_in_warehouse(event.data)
  1. ETL-процессы — периодический выгруз данных из источников в хранилище (Data Warehouse)

Критические моменты:

  • Обработка ошибок при недоступности сервисов
  • Консистентность данных
  • Производительность (кеширование, пагинация)
  • Авторизация между сервисами

Выбор зависит от требований к актуальности данных и нагрузки. Для real-time лучше API Gateway или события, для аналитики — ETL.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы