Multi-Protocol Event Broker

Async Event Broker & Queue
With Zero Overhead

Pranor Pulse unifies Kafka stream processing, RabbitMQ queues, STOMP WebSockets, and IoT MQTT protocols into a single Go binary with real-time Dead Letter Queue (DLQ) replay.

Quick Start View on GitHub
Standalone Install: docker run -p 8083:8083 vyuvaraj/pranor-pulse:latest

Capabilities

One Broker for All Messaging Workloads

Stop running separate JVMs for Kafka, Erlang daemons for RabbitMQ, and Mosquitto brokers for IoT.

🔌

Multi-Protocol Protocol Engine

Native wire-protocol decoders for Kafka wire format, STOMP over WebSockets, and MQTT 3.1.1/5.0. Use your existing client libraries without modification.

🔄

Dead Letter Queue (DLQ) Replay

Failed messages automatically route to topic DLQs with configurable exponential backoff. Trigger one-click message replays via API or VS Code extension.

📊

Native Prometheus Metrics

Built-in OTLP metrics exporter publishing message throughput, lag, consumer offsets, and connection state directly to Grafana dashboards.

Comparison Matrix

Pulse vs Kafka & RabbitMQ

Compare resource requirements and protocol support.

FeatureKafka / RabbitMQPranor Pulse
Runtime Dependencies JVM / Erlang VM Zero (Native Go Binary)
Multi-Protocol Support Requires separate clusters Kafka + STOMP + MQTT built-in
1-Click DLQ Message Replay Complex script setup Built-in API & Webview
Baseline RAM Usage500MB - 2GB+ ~18MB
Embedded Mode Support Can be embedded in Go apps
Open Source (AGPL-3.0)

Code Examples

Use from Any Language or Framework

Pranor Pulse supports Python (Kafka/STOMP), TypeScript/Node.js, Go, cURL/WebSockets, or directly in Pranor applications.

from kafka import KafkaProducer, KafkaConsumer import json # 1. Connect standard Python Kafka client to Pranor Pulse producer = KafkaProducer(bootstrap_servers=['localhost:8083'], value_serializer=lambda v: json.dumps(v).encode('utf-8')) producer.send('orders.created', {'order_id': 'ord_9901', 'amount': 149.50}) # 2. Consume events consumer = KafkaConsumer('orders.created', bootstrap_servers=['localhost:8083']) for msg in consumer: print("Received order event:", msg.value)