@yroshcha/node-red-contrib-kafka 6.2.2

Node-RED Kafka nodes: Send, Receive, and Schema validation with modern KafkaJS. Fork of @oriolrius/node-red-contrib-kafka adding Protobuf + Confluent Schema Registry support to the producer node.

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

@yroshcha/node-red-contrib-kafka

This is a fork of oriolrius/node-red-contrib-kafka, adding Protobuf serialization (with Confluent Schema Registry wire-format support) to the producer node, alongside the existing Avro mode. These changes were originally submitted upstream as PR #4; this package is published separately since the PR has not received a maintainer review. See docs/PROTOBUF_PRODUCER_GUIDE.md for full usage details of the new capability.

Node type names are prefixed yroshcha-kafka-* rather than oriolrius-kafka-*, so this package can be installed safely alongside the original @oriolrius/node-red-contrib-kafka in the same Node-RED instance without type-registration conflicts.

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 (yroshcha-kafka-broker) - Connection configuration
  • Kafka Send (yroshcha-kafka-producer) - Send messages to Kafka topics
  • Kafka Receive (yroshcha-kafka-consumer) - Receive messages from Kafka topics
  • Kafka Schema Send (yroshcha-kafka-producer) - Send messages with Avro schema validation
  • Kafka History Reader (yroshcha-kafka-history-reader) - Retrieve historical messages by type

Schema Registry Support

NEW: The yroshcha-kafka-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 yroshcha-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 @yroshcha/node-red-contrib-kafka

Documentation

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

Getting Started

  • Protobuf Producer Guide - Complete guide to Protobuf serialization (Schema Registry and raw modes) on the Kafka Send node
  • 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: 6.2.2
Updated 5 hours ago
License: MIT
Rating: not yet rated

Categories

Actions

Rate:

Downloads

0 in the last week

Nodes

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

Keywords

  • kafka-producer
  • kafka-consumer
  • node-red
  • kafka-broker
  • kafkajs
  • protobuf
  • schema-registry
  • big-data
  • data

Maintainers

Contributors

  • YRoshcha