Вопрос проверяет знание интеграции Apache Kafka с Spring-приложениями и используемой для этого библиотеки.
Spring Kafka — это библиотека, которая предоставляет интеграцию Apache Kafka с фреймворком Spring. Она позволяет разработчикам легко отправлять и получать сообщения через Kafka, используя привычные для Spring подходы, такие как dependency injection и аннотации.
// Конфигурация KafkaTemplate
@Bean
public KafkaTemplate<String, String> kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
// Отправка сообщения
@Service
public class ProducerService {
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void sendMessage(String topic, String message) {
kafkaTemplate.send(topic, message);
}
}
// Получение сообщения
@Component
public class ConsumerService {
@KafkaListener(topics = "my-topic")
public void listen(String message) {
System.out.println("Received: " + message);
}
}Spring Kafka используется в микросервисных архитектурах для асинхронного обмена данными, обработки событий и потоковой передачи данных. Она особенно полезна в приложениях, где требуется высокая пропускная способность и надежность.
Вывод: Spring Kafka — это стандартный выбор для интеграции Kafka в Spring-приложения, обеспечивающий простоту и гибкость. Её стоит применять, когда нужно реализовать надежную асинхронную коммуникацию между сервисами.