Aller au contenu

Kafka

C’est quoi ?

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.

ça sert à quoi ?

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…

L’utiliser avec Spring Boot

<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) {

Conclusion

Un outil que vous allez certainement utiliser dans votre entreprise… ;)