Tích hợp Apache Kafka vào Dự án Node.js

Tích hợp Apache Kafka vào dự án Node.js giúp bạn xây dựng các ứng dụng thời gian thực sử dụng khả năng xử lý dữ liệu của Kafka. Dưới đây là hướng dẫn cơ bản để bạn tích hợp Apache Kafka vào Node.js:

Bước 1: Cài đặt Thư viện Kafka cho Node.js

Mở terminal trong thư mục dự án Node.js của bạn.

Chạy lệnh sau để cài đặt thư viện kafkajs, một thư viện Node.js cho Apache Kafka: npm install kafkajs.

Bước 2: Viết Mã Tương tác với Kafka trong Node.js

Import thư viện kafkajs vào mã Node.js của bạn:

const { Kafka } = require('kafkajs');

Định nghĩa các thông số cấu hình cho Kafka Broker:

const kafka = new Kafka({
  clientId: 'your-client-id',
  brokers: ['broker1:port1', 'broker2:port2'], // Thay thế bằng địa chỉ và cổng thật
});

Tạo producer để gửi tin nhắn:

const producer = kafka.producer();

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

sendMessage();

Tạo consumer để nhận tin nhắn:

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();

 

Lưu ý: Hãy thay thế các giá trị như 'your-client-id', 'broker1:port1', 'your-topic', và 'your-group-id' bằng thông tin thực tế của dự án của bạn.

Nhớ rằng, việc tích hợp Apache Kafka vào Node.js có thể phức tạp hơn dựa trên yêu cầu cụ thể của bạn. Đảm bảo tham khảo tài liệu chính thức của Apache Kafka và thư viện kafkajs để hiểu rõ hơn về các tùy chọn cấu hình và chức năng.