Coming Soon: Conduck - A Robust, Flexible, and Monitorable Message Bus for Node.js
Get ready for Conduck, a powerful new open-source message bus library designed to simplify event-driven architecture in Node.js applications with built-in monitoring, flexible routing, and enterprise-grade reliability.
By b7r.dev Team••6 min read
We're excited to announce Conduck, a revolutionary new open-source message bus library for Node.js that's coming soon! 🦆
What is Conduck?
Conduck is a robust, flexible, and highly monitorable message bus designed specifically for modern Node.js applications. Whether you're building microservices, event-driven architectures, or complex distributed systems, Conduck provides the reliability and observability you need to scale with confidence.
Why Another Message Bus?
While there are several messaging solutions available, we found that most fall short in one or more critical areas:
Complexity: Many solutions require extensive configuration and setup
Monitoring: Limited visibility into message flow and system health
Flexibility: Rigid patterns that don't adapt to diverse use cases
Developer Experience: Poor debugging tools and unclear error messages
Conduck addresses these pain points with a developer-first approach that prioritizes simplicity without sacrificing power.
Key Features
🚀 Simple Yet Powerful API
// Publishing messages is as simple as:await conduck.publish('user.created',{userId:123,email:'user@example.com'});// Subscribing to events is equally straightforward:conduck.subscribe('user.*',async(event)=>{console.log('User event received:', event);});
📊 Built-in Monitoring & Observability
Real-time message flow visualization
Performance metrics and health checks
Dead letter queue management
Comprehensive logging with structured data
Integration with popular monitoring tools (Prometheus, Grafana, DataDog)
🔧 Flexible Message Routing
Pattern-based subscriptions with wildcards
Priority queues and message ordering
Custom routing strategies
Message filtering and transformation
Retry policies with exponential backoff
🛡️ Enterprise-Grade Reliability
Guaranteed message delivery
Automatic failover and recovery
Circuit breaker patterns
Message persistence options
Graceful shutdown handling
🎯 Developer Experience
TypeScript-first with excellent type safety
Comprehensive error handling and debugging
Hot-reloading support for development
Extensive documentation and examples
Interactive CLI tools for testing and debugging
Use Cases
Conduck is perfect for a wide range of applications:
Microservices Communication: Decouple services with reliable async messaging
Event Sourcing: Build event-driven architectures with confidence
Discord: Join our developer community for discussions and support
GitHub Discussions: Share ideas and provide feedback on features
Beta Program: Sign up for early access to beta releases
💡 Contribute
We believe in building Conduck with the community. Once we open-source the project, we'll welcome:
Feature requests and bug reports
Code contributions and pull requests
Documentation improvements
Community plugins and extensions
Technical Preview
Here's a sneak peek at what working with Conduck looks like:
import{Conduck}from'conduck';// Initialize with monitoring enabledconst conduck =newConduck({monitoring:{enabled:true,dashboard:true,metrics:['throughput','latency','errors']},persistence:{enabled:true,backend:'redis'// or 'memory', 'postgres', etc.}});// Define message schemas for type safetyinterfaceUserCreatedEvent{userId: number;email: string;timestamp:Date;}// Type-safe publishingawait conduck.publish<UserCreatedEvent>('user.created',{userId:123,email:'user@example.com',timestamp:newDate()});// Pattern-based subscriptions with full type supportconduck.subscribe<UserCreatedEvent>('user.created',async(event, context)=>{// Send welcome emailawait emailService.sendWelcome(event.email);// Acknowledge successful processing context.ack();});// Error handling and retry logicconduck.subscribe('payment.failed',async(event, context)=>{try{awaitretryPayment(event.paymentId); context.ack();}catch(error){// Automatic retry with exponential backoff context.nack({retry:true,delay:'5s'});}});// Graceful shutdownprocess.on('SIGTERM',async()=>{await conduck.shutdown();});
Performance & Benchmarks
We're committed to delivering exceptional performance. Our early benchmarks show:
Throughput: 50,000+ messages/second on standard hardware
Latency: Sub-millisecond message delivery in optimal conditions
Memory: Efficient memory usage with configurable limits
CPU: Minimal overhead with smart batching and optimization
Full benchmark results and methodology will be published with the initial release.
The Road Ahead
Conduck represents our vision for the future of messaging in Node.js applications. We're building more than just a library – we're creating a comprehensive ecosystem that makes event-driven architecture accessible, reliable, and enjoyable to work with.
Timeline
Q3 2025: Initial open-source release
Q4 2025: Advanced features and enterprise capabilities
Q2 2026: Cloud integrations and managed services
Q4 2026: Ecosystem expansion and community plugins
Get Ready to Dive In
The future of Node.js messaging is almost here. Conduck will transform how you think about event-driven architecture, making it simpler to build, easier to monitor, and more reliable than ever before.
Ready to make a splash with Conduck? 🦆
Stay tuned for our official launch announcement, and don't forget to: