UNPKG

@yogaraj-saravanan/kafka-utils

Version:

Reusable Kafka producer and consumer utilities using kafkajs.

26 lines (20 loc) 572 B
import { Kafka, Producer } from "kafkajs"; export class KafkaProducer { private producer: Producer; constructor(private clientId: string, private brokers: string[]) { const kafka = new Kafka({ clientId, brokers }); this.producer = kafka.producer(); } async connect() { await this.producer.connect(); } async send(topic: string, messages: any[]) { await this.producer.send({ topic, messages: messages.map((msg) => ({ value: JSON.stringify(msg) })), }); } async disconnect() { await this.producer.disconnect(); } }