@oriolrius/node-red-contrib-kafka 4.3.1

Node-RED Kafka nodes: Send, Receive, and Schema validation with modern KafkaJS

npm install @oriolrius/node-red-contrib-kafka

@oriolrius/node-red-contrib-kafka

Kafka Consumer and Producer

About This Project

This Node-RED Kafka client is based on the original node-red-contrib-kafka implementations but has been completely modernized and enhanced. We have migrated from the legacy kafka-node library to the modern kafkajs library for better performance, reliability, and active maintenance support.

Key Improvements Over Original Projects

  • Modern Library: Uses kafkajs instead of the deprecated kafka-node
  • Enhanced SASL Support: Better SASL authentication with support for PLAIN, SCRAM-SHA-256, and SCRAM-SHA-512 mechanisms
  • Improved SSL/TLS: Enhanced certificate handling and SSL configuration options
  • Better Error Handling: More detailed error reporting and debugging capabilities
  • Active Maintenance: Built on actively maintained libraries for long-term reliability

This node can be used to produce and consume messages to/from Kafka. It consists of five nodes:

  • Kafka Broker (hm-kafka-broker) - Connection configuration
  • Kafka Send (hm-kafka-producer) - Send messages to Kafka topics
  • Kafka Receive (hm-kafka-consumer) - Receive messages from Kafka topics
  • Kafka Schema Send (hm-kafka-schema-producer) - Send messages with Avro schema validation
  • Kafka History Reader (hm-kafka-history-reader) - Retrieve historical messages by type

Schema Registry Support

NEW: The hm-kafka-schema-producer node adds Avro schema validation support using Confluent Schema Registry. This node:

  • Validates message payloads against registered Avro schemas
  • Supports both latest and specific schema versions for production stability
  • Supports automatic schema registration if schema doesn't exist
  • Provides schema-only validation mode for testing
  • Integrates with Confluent Schema Registry authentication
  • Ensures data consistency and compatibility across your Kafka ecosystem
  • Version-aware caching: Automatically fetches new schemas when version changes

Kafka History Reader

NEW: The hm-kafka-history-reader node allows you to retrieve historical messages of specific types from Kafka topics. This is particularly useful for:

  • Getting the last known values of specific message types before starting real-time consumption
  • Initializing your application state with historical data
  • Implementing catch-up mechanisms for offline periods
  • Debugging and analyzing message patterns

Key features:

  • Type-specific filtering: Search for messages by type (checks type, messageType, eventType, kind, msgType fields)
  • Configurable limits: Set maximum number of messages to retrieve per type
  • Offset control: Start reading from earliest or latest available messages
  • Schema Registry support: Works with both plain JSON and Avro-encoded messages
  • Non-destructive: Uses temporary consumer groups to avoid affecting your main consumers

SASL Authentication Support

This library provides comprehensive SASL authentication support based on the kafkajs project. It now supports:

  • PLAIN - Basic username/password authentication
  • SCRAM-SHA-256 - Secure password authentication with SHA-256
  • SCRAM-SHA-512 - Secure password authentication with SHA-512

These enhanced authentication mechanisms provide better security compared to the original kafka-node implementations.

Installation

npm install @oriolrius/node-red-contrib-kafka

Documentation

This project includes comprehensive documentation to help you get started and understand all features:

Getting Started

  • Schema Guide - Complete guide to using Avro schema validation and version management with the Schema Producer node
  • Kafka History Reader Guide - Complete guide to using the Kafka History Reader for retrieving historical messages
  • Migration Guide - Guide for migrating from legacy kafka-node based implementations
  • IoT Integration Guide - Complete guide to IoT cloud configuration features

Development & Implementation

Improvements & Features

License

This project is licensed under the MIT License - the same license as the original Node-RED Kafka projects that served as its foundation.

Acknowledgments

This project is based on the excellent work by emrebekar and the original node-red-contrib-kafka-client project. We extend our sincere gratitude to emrebekar for creating the foundational Node-RED Kafka integration that served as the basis for this modernized implementation.

The original project provided the core architecture and functionality for Kafka producer and consumer nodes in Node-RED, which we have enhanced and migrated from the legacy kafka-node library to the modern kafkajs library for improved performance and reliability.

Node Info

Version: 4.3.1
Updated 2 weeks ago
License: MIT
Rating: not yet rated

Categories

Actions

Rate:

Downloads

127 in the last week

Nodes

  • hm-kafka-broker
  • hm-kafka-producer
  • hm-kafka-consumer
  • hm-kafka-history-reader

Keywords

  • kafka-producer
  • kafka-consumer
  • node-red
  • kafka-broker
  • kafkajs
  • big-data
  • data

Maintainers