Envoyer et recevoir des messages avec Apache Kafka in Node.js

Étape 1 : Installez la bibliothèque Kafka pour Node.js

Ouvrez un terminal dans votre Node.js répertoire de projet.

Exécutez la commande suivante pour installer la kafkajs bibliothèque, une Node.js bibliothèque pour Apache Kafka: npm install kafkajs.

Étape 2: Envoi de messages avec Producer in Node.js

Importez la kafkajs bibliothèque et définissez la Kafka Broker configuration :

const { Kafka } = require('kafkajs');  
  
const kafka = new Kafka({  
  clientId: 'your-client-id',  
  brokers: ['broker1:port1', 'broker2:port2'], // Replace with actual addresses and ports  
});  

Créez un producer pour envoyer des messages, et envoyez un message à un topic:

const producer = kafka.producer();  
  
const sendMessage = async() => {  
  await producer.connect();  
  await producer.send({
    topic: 'your-topic',  
    messages: [{ value: 'Hello Kafka!' }],  
  });  
  await producer.disconnect();  
};  
  
sendMessage();  

Étape 3: Recevoir des messages avec Consumer in Node.js

Importez la kafkajs bibliothèque et définissez la Kafka Broker configuration(si ce n'est déjà fait) :

const { Kafka } = require('kafkajs');  
  
const kafka = new Kafka({  
  clientId: 'your-client-id',  
  brokers: ['broker1:port1', 'broker2:port2'], // Replace with actual addresses and ports  
});  

Créez un consumer pour recevoir les messages d'un topic:

const consumer = kafka.consumer({ groupId: 'your-group-id' });  
  
const consumeMessages = async() => {  
  await consumer.connect();  
  await consumer.subscribe({ topic: 'your-topic', fromBeginning: true });  
  
  await consumer.run({  
    eachMessage: async({ topic, partition, message }) => {  
      console.log(`Received message: ${message.value}`);  
    },  
  });  
};  
  
consumeMessages();  

Remarque: Remplacez les valeurs telles que 'your-client-id', 'broker1:port1', 'your-topic' et 'your-group-id' par les informations réelles de votre projet.

Assurez-vous de vous référer à la documentation officielle de Apache Kafka et à la kafkajs bibliothèque pour plus d'informations sur les options de configuration et les fonctionnalités.