awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
emitter-io avatar

emitter-io/emitter

0
View on GitHub↗
4,005 stars·359 forks·Go·AGPL-3.0·25 viewsemitter.io↗

Emitter

Emitter is a distributed pub-sub platform and message brokering system that decouples senders and receivers through topic-based routing. It functions as an MQTT message broker and WebSocket communication server, enabling real-time data exchange between hardware devices and web-based clients.

The system acts as a secure channel orchestrator and message persistence engine. It ensures delivery through a storage system that buffers historical messages and queues data for offline subscribers. Access to these data streams is managed via time-limited permission keys that enforce granular read and write controls.

The platform supports high-availability deployments through synchronized broker clusters and provides hierarchical channel organization with wildcard filtering for precise data capture. It handles binary payloads across multi-party communication patterns and includes network traffic encryption and system performance monitoring.

Features

  • MQTT Message Brokers - Functions as a distributed MQTT message broker for exchanging binary data and managing IoT sensor telemetry.
  • Topic-Based Pub/Sub - Implements a core messaging pattern where producers and consumers are decoupled through topic-based distribution.
  • Real-Time WebSocket Servers - Provides a server that pushes live updates to browser clients using persistent bidirectional WebSocket connections.
  • High Availability Cluster Deployments - Supports deploying synchronized node networks to increase throughput and ensure continuous service availability.
  • Message Broker Clustering - Implements a distributed architecture to scale messaging workloads and ensure high availability across server nodes.
  • Offline Client Queuing - Buffers messages for disconnected subscribers and automatically delivers them upon session restoration.
  • WebSocket Servers - Enables bidirectional real-time data streams for web-based clients using the WebSocket protocol.
  • Hierarchical Channel Organization - Supports structuring data into multi-level paths using slashes to enable granular message targeting and logical organization.
  • Message Brokers - Routes real-time data between publishers and subscribers across a cluster to decouple system components.
  • Message Persistence Systems - Provides a storage system that buffers historical messages and queues data for offline subscribers.
  • Pub-Sub Subscriptions - Provides mechanisms for clients to subscribe to real-time message channels and retrieve historical data upon connection.
  • Wildcard Hierarchy Filtering - Enables precise data capture by allowing subscribers to use wildcards to target specific levels of a channel hierarchy.
  • Protocol-Based Routing - Routes binary payloads between publishers and subscribers using MQTT over TCP or WebSockets.
  • Hierarchical Routing - Organizes data streams into multi-level paths to enable granular subscription and wildcard filtering.
  • High Availability Implementations - Deploys synchronized broker nodes in a distributed cluster to ensure system resilience and continuous delivery.
  • Real-Time Message Streaming - Delivers high-throughput, low-latency data streams across distributed clusters to support millions of messages per second.
  • Key-Level Access Controls - Enforces granular read and write permissions for data streams using time-limited security keys.
  • Secure Channel Orchestration - Manages encrypted data streams using time-limited permission keys to enforce granular access control.
  • Message History Playback - Persists historical messages in a database to allow subscribers to retrieve missed data after disconnection.
  • Binary Channel Publishing - Supports publishing binary data payloads to channels with configurable retention for persistence.
  • Many-to-Many Multicast - Facilitates many-to-many communication patterns where multiple publishers and subscribers exchange data across numerous channels.
  • Protocol-Agnostic Message Routing - Translates and routes binary payloads between different standards like MQTT and WebSockets.
  • Traffic Filters - Routes binary messages to specific devices or sensors using protocol-based filtering criteria.
  • Network Traffic Encryptions - Secures data transmission between clients and servers using industry-standard encryption protocols.
  • Environment-Driven Feature Configurations - Provides a system for managing operational parameters through external configuration files and environment variables.
  • Externalized Configurations - Allows overriding system settings via external files, environment variables, or secure vault services.
  • Databases - Distributed pub/sub database for real-time IoT and messaging.
  • Distributed Systems - Distributed, low-latency publish-subscribe platform.
  • Distributed Systems - High-performance distributed pub-sub platform.

Star history

Star history chart for emitter-io/emitterStar history chart for emitter-io/emitter

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Emitter

Similar open-source projects, ranked by how many features they share with Emitter.
  • soketi/soketisoketi avatar

    soketi/soketi

    5,615View on GitHub↗

    Soketi is a high-performance WebSocket server designed to facilitate real-time bidirectional communication and event broadcasting. It functions as a multi-tenant gateway that implements the Pusher protocol, allowing existing client-side applications to integrate without modifying their underlying logic. The server acts as a distributed event broker, synchronizing messages across multiple instances to support horizontal scalability in cloud-native environments. The platform distinguishes itself through its focus on secure, isolated multi-tenant hosting and robust traffic management. It enforce

    TypeScriptbroadcastingcloudflaredocker
    View on GitHub↗5,615
  • rabbitmq/rabbitmq-serverrabbitmq avatar

    rabbitmq/rabbitmq-server

    13,732View on GitHub↗

    RabbitMQ is a multi-protocol messaging broker that functions as an AMQP message broker, a clustered message queue, and a distributed message stream. It provides a server for translating and bridging communication between diverse messaging standards to connect heterogeneous systems. The system distinguishes itself through distributed broker clustering and federation, using shoveling mechanisms to synchronize data across geographically separate sites. It supports high-throughput, append-only logs for persisting and reading large sequences of messages for real-time processing. The broker covers

    JavaScript
    View on GitHub↗13,732
  • beyondcode/laravel-websocketsbeyondcode avatar

    beyondcode/laravel-websockets

    5,083View on GitHub↗

    This is a self-hosted WebSocket server for Laravel applications designed to provide real-time communication and replace third-party managed messaging services. It provides a server-side PHP implementation of the WebSocket standard, enabling full-duplex communication between clients and servers. The project implements a Pusher-compatible protocol to integrate with existing frontend client libraries. It includes a dedicated debug dashboard for monitoring active connections, tracking network traffic, and analyzing real-time server performance. The system supports Laravel event broadcasting and

    PHPhacktoberfestlaravellaravel-echo
    View on GitHub↗5,083
  • mrniko/netty-socketiomrniko avatar

    mrniko/netty-socketio

    7,021View on GitHub↗

    netty-socketio is a Java implementation of a Socket.IO server designed for real-time bidirectional communication between clients and servers. It functions as a real-time event engine and WebSocket communication server, utilizing the Netty network framework to manage high-performance socket connections. The project enables distributed socket server scaling by acting as a distributed message broker. It synchronizes client states and broadcasts messages across multiple server nodes through the use of an external data store. The system manages traffic via namespace-based connection routing and r

    Javajavanettypolling
    View on GitHub↗7,021
See all 30 alternatives to Emitter→

Frequently asked questions

What does emitter-io/emitter do?

Emitter is a distributed pub-sub platform and message brokering system that decouples senders and receivers through topic-based routing. It functions as an MQTT message broker and WebSocket communication server, enabling real-time data exchange between hardware devices and web-based clients.

What are the main features of emitter-io/emitter?

The main features of emitter-io/emitter are: MQTT Message Brokers, Topic-Based Pub/Sub, Real-Time WebSocket Servers, High Availability Cluster Deployments, Message Broker Clustering, Offline Client Queuing, WebSocket Servers, Hierarchical Channel Organization.

What are some open-source alternatives to emitter-io/emitter?

Open-source alternatives to emitter-io/emitter include: soketi/soketi — Soketi is a high-performance WebSocket server designed to facilitate real-time bidirectional communication and event… beyondcode/laravel-websockets — This is a self-hosted WebSocket server for Laravel applications designed to provide real-time communication and… mrniko/netty-socketio — netty-socketio is a Java implementation of a Socket.IO server designed for real-time bidirectional communication… rabbitmq/rabbitmq-server — RabbitMQ is a multi-protocol messaging broker that functions as an AMQP message broker, a clustered message queue, and… hyperf/hyperf — Hyperf is a high-performance PHP coroutine framework designed for building microservices and middleware. It utilizes… centrifugal/centrifugo — Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a…