Архитектура ПОSystem DesignВысокоуровневая схема
Готовим следующую карточку…
СобеседованиеСредняя
Вопрос

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

OrderScreen getOrderScreen(String orderId) {
    Order order = orderService.get(orderId);
    DeliveryEta eta = deliveryService.getEta(orderId);
    List<Item> recommendations =
        recommendationService.forUser(order.userId());
    return new OrderScreen(order, eta, recommendations);
}

Предложите высокоуровневую схему, которая сохранит актуальность ключевых данных, но не сделает открытие экрана зависимым от доступности всех трёх сервисов. Какие зависимости должны остаться синхронными, а какие стоит вынести из критического пути?

Смахните карточку влево, чтобы повысить рейтинг, или вправо, чтобы понизить.

Восстановление доступа