Tibgħat u Nirċievu Messaġġi Apache Kafka b'in Node.js

Pass 1: Installa Kafka Library għal Node.js

Iftaħ a terminal fid-direttorju tal-proġett tiegħek Node.js.

Mexxi l-kmand li ġej biex tinstalla l- kafkajs librerija, Node.js librerija għal Apache Kafka: npm install kafkajs.

Pass 2: Tibgħat Messaġġi Producer b'in Node.js

Importa l- kafkajs librerija u ddefinixxi l- Kafka Broker konfigurazzjoni:

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

Oħloq producer biex tibgħat messaġġi, u ibgħat messaġġ lil 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();  

Pass 3: Jirċievu Messaġġi bil Consumer in Node.js

Importa l- kafkajs librerija u ddefinixxi l- Kafka Broker konfigurazzjoni(jekk ma tkunx saret diġà):

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

Oħloq consumer biex tirċievi messaġġi minn speċifiku 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();  

Nota: Ibdel valuri bħal 'your-client-id', 'broker1:port1', 'your-topic', u 'your-group-id' bl-informazzjoni attwali tal-proġett tiegħek.

Kun żgur li tirreferi għad-dokumentazzjoni uffiċjali ta' Apache Kafka u l- kafkajs librerija għal aktar informazzjoni dwar l-għażliet u l-funzjonalitajiet tal-konfigurazzjoni.