Встречается на собеседованиях • сегодня
Как обеспечивал доставку данных при нестабильной работе микросервиса
Использовал механизмы ретраев (retry) с экспоненциальной задержкой и dead letter queue (DLQ). Например, в Spring Boot с Spring Retry и RabbitMQ:
java
@Retryable(
value = {ServiceUnavailableException.class},
maxAttempts = 3,
backoff = @Backoff(delay = 1000, multiplier = 2)
)
public void processMessage(Message message) {
// вызов микросервиса
}
@Recover
public void recover(ServiceUnavailableException e, Message message) {
rabbitTemplate.convertAndSend("dlq.exchange", "dlq.routing.key", message);
}
text
Дополнительно применял:
- Circuit Breaker (Hystrix/Resilience4j) для предотвращения лавинообразных сбоев
- Идемпотентность обработчиков
- Логирование и мониторинг неудачных попыток
- Асинхронную обработку через очереди (Kafka/RabbitMQ)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы