Apache Kafka in 으로 메시지 보내기 및 받기 Node.js

1단계: Kafka 라이브러리 설치 Node.js

terminal 프로젝트 디렉토리 에서 를 엽니다 Node.js.

다음 명령을 실행하여: 에 대한 라이브러리인 kafkajs 라이브러리를 설치합니다. Node.js Apache Kafka npm install kafkajs

2단계: Producer in을 사용하여 메시지 보내기 Node.js

라이브러리를 가져오고 구성을 kafkajs 정의합니다 Kafka Broker.

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

를 만들어 producer 메시지를 보내고 다음으로 메시지를 보냅니다 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();  

3단계: Consumer in 으로 메시지 수신 Node.js

라이브러리를 가져오고 구성을 kafkajs 정의합니다 Kafka Broker(아직 수행하지 않은 경우).

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

consumer 특정에서 메시지를 수신하려면 를 만듭니다 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();  

참고: 'your-client-id', 'broker1:port1', 'your-topic' 및 같은 값을 'your-group-id' 실제 프로젝트 정보로 바꾸십시오.

구성 옵션 및 기능에 대한 자세한 내용은 공식 문서 Apache Kafka 및 라이브러리 를 참조하십시오. kafkajs