Сервис агрегации курсов валют

System designMiddle45 минпроверка — Спринт22-t030

Компания продаёт товары во всех валютах; пользователь выбирает валюту, цена пересчитывается на лету. Куплены две подписки на внешние источники курсов, у каждого можно запросить текущий курс выбранной пары. Нужно дать остальным сервисам: 1) API текущего курса по валютной паре; 2) API исторического курса.

Вопросы по ходу: сколько всего пар и какой объём хранения? Какие компоненты (плохо — отдельный сервис под каждого поставщика; норм — разделение чтения и записи, запись по расписанию)? Как обеспечить отказоустойчивость? Что делать, если курс у поставщиков расходится (доверенный поставщик, среднее, перцентиль)? Как внешним сервисам обрабатывать ошибки сервиса курсов (когда падать, когда использовать запасной вариант)?

Порядок, которого ждут: уточни требования → оцени нагрузку → API и данные → схема компонентов → узкие места и отказ. Не прыгай сразу в Kafka.

⌘ Enter — проверить