RMQTT is a high-performance, distributed MQTT broker written in Rust, supporting MQTT v3.1, v3.1.1, and v5.0 protocols. It provides TCP/TLS/WebSocket/QUIC transports, a plugin-based extensibility system, multiple clustering modes (broadcast and Raft), persistent session and message storage (sled, Redis), authentication via HTTP or JWT, ACL rules, and bridges to Kafka, Pulsar, NATS, and ReductStore. The broker includes a built-in HTTP management API with a Vue.js dashboard and a comprehensive test suite covering conformance, stress, and chaos scenarios. Production features include circuit breakers, rate limiting, metrics export, and configuration-driven operation. The codebase is well-structured with clean abstractions, reusable components (codec, network builder, hook system), and active maintenance, though the dual clustering implementations and extensive feature flags introduce some complexity.
This repository is a JavaScript library providing a BroadcastChannel polyfill with leader election capabilities. It enables cross-tab/window/node-process communication through multiple fallback mechanisms (native BroadcastChannel, IndexedDB, localStorage, Node.js sockets, and a simulate method). The library implements leader election algorithms to coordinate multiple instances, ensuring only one acts as leader at a time. It supports diverse environments including old browsers, modern browsers, WebWorkers, Node.js, Deno, and iframes. The architecture centers around a core BroadcastChannel class with pluggable method implementations, a method chooser for fallback selection, and separate leader election utilities. Key entry points are the exported BroadcastChannel class and createLeaderElection function from src/index.js.