awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Open-Source Message Queues and Event Buses

Ranking updated Jun 30, 2026

For an open source message broker for services, the strongest matches are apache/incubator-pulsar (Apache Pulsar is a cloud-native message queue and event), apache/pulsar (Apache Pulsar is a cloud-native distributed pub-sub messaging and) and apache/kafka (Apache Kafka is a battle-tested distributed event streaming platform). apache/incubator-rocketmq and apache/rocketmq round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

We curate open-source GitHub repositories matching “open-source message queue and event bus for decoupling services”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Open-Source Message Queues and Event Buses

Find the best repos with AI.We'll search the best matching repositories with AI.
  • apache/incubator-pulsarapache avatar

    apache/incubator-pulsar

    15,270View on GitHub↗

    Apache Pulsar is a cloud-native message queue and distributed publish-subscribe messaging system. It serves as a multi-tenant event streaming platform designed to route data streams for asynchronous communication between producers and consumers. The system distinguishes itself through geo-replication, synchronizing data across multiple geographic regions to ensure high availability and low latency. It implements a multi-tenant architecture that provides isolation and resource management for millions of independent topics. The platform covers high-throughput data streaming and event-driven da

    Apache Pulsar is a cloud-native message queue and event streaming platform that unifies pub/sub messaging and point-to-point queues with persistent storage, stream replay, clustering, and multi-language client libraries, directly meeting the need for asynchronous microservice communication.

    JavaPub-Sub MessagingPublish-Subscribe MessagingMessage Queues
    View on GitHub↗15,270
  • apache/pulsarapache avatar

    apache/pulsar

    15,276View on GitHub↗

    Apache Pulsar is a cloud-native distributed pub-sub messaging system designed for high-performance data ingestion. It functions as a geo-replicated data streamer and a multi-tenant event streaming platform, providing a serverless stream processing engine and a tiered storage messaging broker. The system distinguishes itself by separating serving layers from storage layers to allow independent scaling of compute and data retention. It features native geo-replication to synchronize messages across different geographical regions and employs a multi-layered tenant isolation model using authentica

    Apache Pulsar is a cloud-native distributed pub-sub messaging and event streaming platform that provides both message queuing (point-to-point) and streaming (pub/sub with replay), along with persistence, geo-replication, multi-language clients, and serverless processing—exactly matching the need to decouple microservices with reliable, scalable middleware.

    JavaMessage Stream ReplayersPub-Sub Messaging
    View on GitHub↗15,276
  • apache/kafkaapache avatar

    apache/kafka

    32,846View on GitHub↗

    Kafka is a distributed event streaming platform designed for capturing, storing, and processing real-time data streams across interconnected nodes. It functions as a distributed commit log, providing a fault-tolerant storage mechanism that records state changes sequentially to ensure data consistency and durability across distributed environments. The platform distinguishes itself through a partitioned commit log architecture that enables horizontal scaling and parallel processing of data streams. It integrates a stream processing engine for continuous transformations and aggregations, while

    Apache Kafka is a battle-tested distributed event streaming platform with a partitioned commit log that provides durable message persistence, pub/sub and queue-like consumer-group semantics, clustering, replication, multi-language client libraries, and consumer offset management for stream replay, exactly the middleware this query asks for.

    JavaConsumer Offset TrackersDistributed Commit Logs
    View on GitHub↗32,846
  • apache/incubator-rocketmqapache avatar

    apache/incubator-rocketmq

    22,461View on GitHub↗

    RocketMQ is a distributed messaging and streaming platform designed for building event-driven applications. It serves as middleware to decouple services using publish-subscribe and request-reply patterns, and functions as a transactional messaging system that ensures atomicity by linking message delivery to local transaction outcomes. The platform includes specialized capabilities as a Kubernetes-native message broker for container orchestration environments and an MQTT broker for ingesting event data from mobile applications and hardware terminals. The system covers high-throughput data str

    Apache RocketMQ is a distributed messaging and streaming platform that natively supports both point-to-point queues and pub/sub messaging with persistence, clustering, filtering, and offset management, making it a strong fit for decoupling microservices with the full set of features you need.

    JavaMessage Stream ReplayersConsumer Offset TrackersMessage Routing
    View on GitHub↗22,461
  • apache/rocketmqapache avatar

    apache/rocketmq

    22,461View on GitHub↗

    RocketMQ is a cloud-native distributed messaging platform and streaming engine. It functions as a distributed transactional queue that ensures atomicity between local transactions and message delivery, and serves as an MQTT IoT message broker to bridge lightweight device traffic into high-performance data streams. The system is distinguished by a Kubernetes-native architecture that decouples compute from storage to allow independent scaling of traffic and data retention. It utilizes a tiered storage model to offload older data to remote storage and employs quorum-based replication and automat

    Apache RocketMQ is a cloud-native distributed messaging and streaming engine that combines pub/sub and point-to-point queues with tiered storage, quorum-based replication, and polyglot client support, directly addressing the need for a message broker with event streaming in microservices.

    JavaMessage Stream ReplayersMessage QueuesMessage Filtering
    View on GitHub↗22,461
  • nats-io/nats-servernats-io avatar

    nats-io/nats-server

    20,076View on GitHub↗

    NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t

    NATS Server with its built-in JetStream layer delivers both pub/sub messaging and persistent event streaming with replay, clustering, and multi-language support, directly matching your need for a combined message queue and event streaming middleware.

    GoMessage Stream ReplayersPublish-Subscribe MessagingPublish-Subscribe Systems
    View on GitHub↗20,076
  • emqx/emqxemqx avatar

    emqx/emqx

    16,422View on GitHub↗

    This project is a high-performance MQTT broker and IoT data platform designed to manage millions of concurrent device connections. It provides a scalable infrastructure for ingesting, processing, and routing telemetry data across distributed systems, utilizing an actor-based concurrency model to maintain high availability and state synchronization across cluster nodes. The platform distinguishes itself through integrated stream processing and edge computing capabilities. It allows users to execute declarative SQL-based rules directly against incoming message streams for real-time filtering, t

    EMQX is a high-performance MQTT broker with pub/sub messaging, clustering, persistence, and integrated stream processing using SQL rules, which fits the need for a distributed message broker/event streaming platform, though its focus on IoT protocols and less conventional point-to-point queues makes it a narrower fit.

    ErlangMessage Stream ReplayersPub-Sub Messaging
    View on GitHub↗16,422
  • nsqio/nsqnsqio avatar

    nsqio/nsq

    25,738View on GitHub↗

    NSQ is a distributed, brokerless messaging platform designed for high-throughput, fault-tolerant communication. By utilizing a decentralized topology, it eliminates single points of failure and allows for horizontal scaling across clusters. The system organizes message streams into topics and channels, effectively decoupling producers from consumers to support both streaming and job-oriented workloads. The platform distinguishes itself through a lookup-service-based discovery mechanism that enables clients to dynamically locate producers at runtime without requiring centralized coordination.

    NSQ is a distributed messaging platform that provides both pub/sub topics and point-to-point channels for decoupling microservices, supporting high-throughput, fault-tolerant asynchronous communication; while it covers many required features like clustering and multi-language clients, it lacks explicit stream replay and offset management found in some event streaming platforms.

    GoPub-Sub MessagingPub-Sub Systems
    View on GitHub↗25,738
  • tporadowski/redistporadowski avatar

    tporadowski/redis

    9,987View on GitHub↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    This is a Windows-native port of Redis, which provides pub/sub messaging and stream-based event streaming with consumer groups and offset management, but it lacks persistent pub/sub, built-in at-least-once delivery for queues, and sophisticated routing—making it a functional but incomplete fit for a full-featured distributed message broker.

    CPub-Sub MessagingPublish-Subscribe MessagingMessage Queues
    View on GitHub↗9,987
  • redis/redisredis avatar

    redis/redis

    74,906View on GitHub↗

    Redis is an in-memory, key-value database designed to provide sub-millisecond latency for read and write operations. It functions as a versatile data platform, serving as a distributed cache, a message broker, a NoSQL document store, and a vector database. The system utilizes an event-driven, single-threaded loop to process requests efficiently, while maintaining data durability through append-only persistence logs and asynchronous snapshotting mechanisms. What distinguishes Redis is its ability to handle complex data structures—including strings, hashes, lists, sets, and sorted sets—alongsid

    Redis is a versatile in-memory data store that natively supports pub/sub messaging, list-based queues, and Redis Streams for event streaming with persistence, clustering, and offset management—making it a capable distributed message broker and streaming platform for decoupling microservices.

    CPublish-Subscribe Messaging
    View on GitHub↗74,906
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
apache/incubator-pulsar15.3KJavaApache-2.0Jun 16, 2026
apache/pulsar15.3KJavaApache-2.0Jun 23, 2026
apache/kafka32.8KJavaApache-2.0Jun 16, 2026
apache/incubator-rocketmq22.5KJavaApache-2.0Jun 17, 2026
apache/rocketmq22.5KJavaApache-2.0Jun 17, 2026
nats-io/nats-server20.1KGoApache-2.0Jun 23, 2026
emqx/emqx16.4KErlangNOASSERTIONJun 23, 2026
nsqio/nsq25.7KGoMITJul 13, 2025
tporadowski/redis10KCotherApr 2, 2023
redis/redis74.9KCNOASSERTIONJun 16, 2026

Related searches

  • a message queue library for Go
  • a lightweight message queue for Java
  • a message queue library for C#
  • a distributed message broker for high-throughput pipelines
  • a message queue library for PHP
  • a self-hosted Kafka alternative
  • an asynchronous notification system for microservices
  • an easy pub-sub messaging system