Вопрос проверяет понимание стратегий обработки ошибок и обеспечения отказоустойчивости при работе с Kafka.
При работе с Kafka неизбежно возникают ситуации, когда сообщение не может быть обработано из-за временных сбоев (например, недоступность базы данных) или постоянных ошибок (некорректный формат данных). Правильная стратегия обработки таких ошибок критична для обеспечения надежности системы.
@KafkaListener(topics = "orders")
public void listen(Order order) {
try {
processOrder(order);
} catch (TemporaryException e) {
throw new RetryableException(e); // автоматический retry
} catch (PermanentException e) {
kafkaTemplate.send("orders-dlq", order);
log.error("Permanent error: {}", e.getMessage());
}
}Применяйте retry для временных ошибок и DLQ для постоянных, чтобы обеспечить отказоустойчивость и возможность ручного анализа проблемных сообщений.
Уровень
Рейтинг:
4
Сложность:
5
Навыки
Node.js
Kafka
Ключевые слова
Подпишись на Golang Developer в телеграм