Готовим следующую карточку…
СобеседованиеСредняя
Вопрос
Для экрана заказа команда собирает все данные синхронно во время пользовательского запроса:
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);
}
Предложите высокоуровневую схему, которая сохранит актуальность ключевых данных, но не сделает открытие экрана зависимым от доступности всех трёх сервисов. Какие зависимости должны остаться синхронными, а какие стоит вынести из критического пути?
