nestjs-kafka-service
v0.0.1
Published
A nest js module that contains a KafkaModule, which has a KafkaService
Downloads
2
Readme
Nest KafkaModule Readme
Description
Welcome to the Nest KafkaModule! This Nest.js module is designed to seamlessly integrate Kafka messaging into your Nest.js applications. It provides a KafkaModule
that encapsulates a powerful KafkaService
, allowing you to effortlessly interact with Kafka brokers.
Installation
To get started with the Nest KafkaModule, follow these simple installation steps:
Install the package using your preferred package manager:
npm install nest-kafka-module
or
yarn add nest-kafka-module
Set up the required environment variables in your application. The following environment variables are necessary for the proper functioning of the package:
| Variable | Description | |------------------|---------------------------------------------------| | KAFKA_CLIENT_ID | The client ID to identify your Kafka client. | | KAFKA_BROKERS | Comma-separated list of Kafka broker addresses. |
Usage
Once you have the Nest KafkaModule installed and your environment variables set up, you can start using it in your Nest.js application.
Import the KafkaModule into your desired module:
import { Module } from '@nestjs/common'; import { KafkaModule } from 'nest-kafka-module'; @Module({ ... imports: [ KafkaModule, ], ... }) export class YourModule {}
Inject the KafkaService into any service where you want to use Kafka messaging:
import { Injectable } from '@nestjs/common'; import { KafkaService } from 'nest-kafka-module'; @Injectable() export class YourService { constructor(private readonly kafkaService: KafkaService) {} // Your methods and logic here doStuff() { const topic = 'your-topic-name'; const message = JSON.stringify({ // Your message payload }); this.kafkaService.produce(topic, message); } }
Additional Configuration (Optional)
The KafkaModule
accepts additional configuration options when importing. You can provide these options to customize the behavior of the Kafka client. For example:
KafkaModule.forRoot({
clientId: 'my-app',
brokers: ['kafka-broker1:9092', 'kafka-broker2:9092'],
// Additional configuration options
}),
For more advanced configuration, refer to the nest-kafka-service documentation.
Contributing
We welcome contributions to the Nest KafkaModule. If you find any issues or have suggestions for improvements, please feel free to submit a pull request or open an issue on the GitHub repository.
Thank you for choosing the Nest KafkaModule for your Kafka messaging needs! If you have any questions or need further assistance, don't hesitate to reach out.
Maintainer: Ali Nowrouzi Email: [email protected] GitHub: My GitHub account