Apache Kafka est un système de diffusion de messages en temps réel conçu pour traiter de grandes quantités de données de manière distribuée. Il est utilisé comme un moyen de communication interne entre les microservices d’une application, pour mettre en cache les données en vue d’une analyse ultérieure, pour alimenter en temps réel des dashboards de suivi…
Kafka est développé en Java et est distribué sous licence Apache.
Il est utilisé par de nombreuses entreprises pour gérer leur flux de données en temps réel.
Kafka est basé sur un modèle de publication-abonnement :
Il y a mélange de fonctionnalités de JMS & JIRA…
<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>
spring.kafka.bootstrap-servers=kafka1:9092,kafka2:9092
Cette propriété définit les adresses et les ports de votre cluster Kafka.
@KafkaListener(topics = "myTopic") public void processMessage(String message) { // process message }
Cette méthode sera appelée chaque fois qu’un message est publié sur le sujet “myTopic” et prendra en paramètre le message reçu.
@Autowired private KafkaTemplate<String, String> kafkaTemplate; public void sendMessage(String topic, String message) {
Un outil que vous allez certainement utiliser dans votre entreprise… ;)