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

Как обеспечивал доставку данных при нестабильной работе микросервиса

Использовал механизмы ретраев (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)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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