Шаг 1. Установите библиотеку Kafka для Node.js
Откройте файл terminal в каталоге вашего Node.js проекта.
Выполните следующую команду, чтобы установить kafkajs
библиотеку, Node.js библиотеку для Apache Kafka: npm install kafkajs
.
Шаг 2. Отправка сообщений с Producer помощью 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 помощью 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
библиотеке для получения дополнительной информации о параметрах конфигурации и функциях.