# apache/rocketmq

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/apache-rocketmq).**

22,461 stars · 11,990 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/apache/rocketmq
- Homepage: https://rocketmq.apache.org/
- awesome-repositories: https://awesome-repositories.com/repository/apache-rocketmq.md

## Description

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 automated node failover to maintain high availability.

The platform provides comprehensive messaging and streaming capabilities, including strict message ordering, delayed delivery, and historical message retrieval. It supports diverse consumption models with SQL and tag filtering, and manages data consistency through transactional messaging and schema registry management. 

Operational visibility is provided through a web operations console for visual cluster management, distributed message tracing, and integrated authentication and access control lists.

## Tags

### DevOps & Infrastructure

- [Distributed Messaging](https://awesome-repositories.com/f/devops-infrastructure/distributed-messaging.md) — Provides a scalable and fault-tolerant distributed messaging platform for asynchronous communication and event-driven architectures.
- [Message Queues](https://awesome-repositories.com/f/devops-infrastructure/message-queues.md) — Provides scalable infrastructure for asynchronous task buffering and reliable event-driven workflow execution. ([source](https://github.com/apache/rocketmq/blob/develop/NOTICE))
- [Container Deployment](https://awesome-repositories.com/f/devops-infrastructure/container-deployment.md) — Ships components as isolated containers to ensure environment consistency and simplify deployment. ([source](https://github.com/apache/rocketmq/blob/develop/README.md))
- [Kubernetes Cluster Management](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management.md) — Automates the lifecycle management and node failover of messaging clusters using Kubernetes operators.
- [Kubernetes Orchestration](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-orchestration.md) — Provides Kubernetes operators to manage the system lifecycle and custom resource definitions. ([source](https://github.com/apache/rocketmq/blob/develop/README.md))
- [Automated Master Failovers](https://awesome-repositories.com/f/devops-infrastructure/remote-cluster-access/cluster-failover-managers/automated-master-failovers.md) — Automatically detects primary node failures and promotes a secondary node to maintain continuous system availability.

### Data & Databases

- [Stream Processing](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/stream-processing-systems/stream-processing.md) — Manages high-throughput data streams with strict message ordering, delayed delivery, and historical retrieval.
- [Write Acknowledgement Strategies](https://awesome-repositories.com/f/data-databases/data-replication/write-acknowledgement-strategies.md) — Requires a majority of replicas to acknowledge write operations to ensure data durability across a distributed cluster.
- [CommitLog-Based Storage](https://awesome-repositories.com/f/data-databases/file-based-storage-systems/commitlog-based-storage.md) — Implements a sequential log file on disk to ensure high-performance writes and reliable data recovery.
- [Storage-Compute Architectures](https://awesome-repositories.com/f/data-databases/storage-compute-architectures.md) — Separates stateless compute nodes from stateful storage layers to scale processing and data retention independently.
- [Stream Processing Engines](https://awesome-repositories.com/f/data-databases/stream-processing-engines.md) — Functions as a cloud-native streaming engine that decouples compute from storage for high-throughput ingestion.
- [External Data Connectors](https://awesome-repositories.com/f/data-databases/external-data-connectors.md) — Moves data reliably and scalably between the internal messaging system and external third-party platforms. ([source](https://github.com/apache/rocketmq/blob/develop/README.md))
- [External System Synchronization](https://awesome-repositories.com/f/data-databases/external-data-connectors/external-system-synchronization.md) — Streams data between the platform and other systems using a set of source and sink connectors. ([source](https://github.com/apache/rocketmq#readme))
- [Schema Registries](https://awesome-repositories.com/f/data-databases/schema-registries.md) — Provides a schema registry to manage and version data schemas for compatibility between producers and consumers. ([source](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal))
- [Storage Tiering](https://awesome-repositories.com/f/data-databases/storage-tiering.md) — Moves cold data from local high-speed disks to remote object storage to extend data retention.

### Hardware & IoT

- [Connectivity And IoT Networks](https://awesome-repositories.com/f/hardware-iot/connectivity-iot.md) — Handles high-volume messaging from mobile applications and IoT terminals using the MQTT protocol. ([source](https://github.com/apache/rocketmq/blob/develop/README.md))
- [MQTT Bridging](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/internet-of-things/mqtt-bridging.md) — Serves as an MQTT IoT message broker to bridge lightweight device traffic into high-performance data streams.

### Networking & Communication

- [MQTT Message Brokers](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/mqtt-message-brokers.md) — Provides a high-performance MQTT broker to bridge IoT device traffic into distributed data streams.
- [MQTT Messaging Integrations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/mqtt-messaging-integrations.md) — Bridges MQTT traffic from lightweight IoT devices into the internal high-performance data stream. ([source](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal))
- [Multi-Protocol Interoperability](https://awesome-repositories.com/f/networking-communication/multi-protocol-interoperability.md) — Enables communication across different systems using industry-standard protocols such as gRPC, MQTT, and JMS. ([source](https://github.com/apache/rocketmq#readme))
- [Message Ordering Guarantees](https://awesome-repositories.com/f/networking-communication/network-reliability-diagnostics/reliability-scaling/message-ordering-guarantees.md) — Guarantees strict first-in-first-out delivery and ordering for messages within the same queue. ([source](https://github.com/apache/rocketmq#readme))
- [Transactional Queues](https://awesome-repositories.com/f/networking-communication/transaction-relayers/transactional-queues.md) — Implements a distributed transactional queue that ensures atomicity between local transactions and message delivery.
- [Transactional Message Coordination](https://awesome-repositories.com/f/networking-communication/transactional-message-coordination.md) — Ensures atomicity between local transactions and message delivery to maintain consistency across distributed operations. ([source](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal))
- [Messaging Client Connections](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-protocols/connection-establishment-protocols/messaging-client-connections.md) — Manages client connectivity by handling encrypted transport, authentication, and authorization. ([source](https://github.com/apache/rocketmq/tree/develop/proxy))
- [Multi-Protocol Translation](https://awesome-repositories.com/f/networking-communication/cross-chain-messaging-protocols/multi-protocol-translation.md) — Converts various external communication protocols into a single internal format for unified backend processing.
- [Messaging Protocol Translation](https://awesome-repositories.com/f/networking-communication/cross-chain-messaging-protocols/protocol-translators/messaging-protocol-translation.md) — Converts incoming traffic from various protocols into a single internal format for backend storage components. ([source](https://github.com/apache/rocketmq/tree/develop/proxy))
- [Consumption Models](https://awesome-repositories.com/f/networking-communication/message-queue-clients/consumption-models.md) — Supports both pull and push consumption models to optimize client performance. ([source](https://github.com/apache/rocketmq#readme))
- [Message Scheduling](https://awesome-repositories.com/f/networking-communication/message-scheduling.md) — Schedules messages for delivery at a specific future timestamp to control when data reaches the consumer. ([source](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal))
- [Message Stream Replayers](https://awesome-repositories.com/f/networking-communication/message-stream-handlers/stream-message-fetchers/message-stream-replayers.md) — Allows retrieval and replay of historical messages by specifying timestamps or sequence offsets. ([source](https://github.com/apache/rocketmq#readme))
- [Polyglot Client Support](https://awesome-repositories.com/f/networking-communication/polyglot-client-support.md) — Allows clients written in different languages to interact with the system via standardized communication protocols. ([source](https://github.com/apache/rocketmq/tree/develop/proxy))

### Software Engineering & Architecture

- [Distributed Task Queues](https://awesome-repositories.com/f/software-engineering-architecture/distributed-task-queues.md) — Partitions data into multiple queues across a cluster to enable parallel processing and horizontal scalability.
- [Two-Phase Commit Protocols](https://awesome-repositories.com/f/software-engineering-architecture/distributed-transaction-coordinators/two-phase-commit-protocols.md) — Coordinates between a local transaction and a message send to ensure atomic delivery of messages.
- [Distributed Transaction Management](https://awesome-repositories.com/f/software-engineering-architecture/distributed-transaction-management.md) — Ensures data consistency across multiple services using transactional messaging to maintain atomicity for critical operations.
- [Messaging Patterns](https://awesome-repositories.com/f/software-engineering-architecture/messaging-patterns.md) — Implements diverse communication strategies including publish-subscribe and request-reply patterns. ([source](https://github.com/apache/rocketmq#readme))

### Part of an Awesome List

- [Kubernetes Operators](https://awesome-repositories.com/f/awesome-lists/devops/kubernetes-operators.md) — Utilizes Kubernetes operators to automate the deployment, scaling, and failover of messaging clusters.
- [Data Pipelines](https://awesome-repositories.com/f/awesome-lists/data/data-pipelines.md) — Distributed messaging and streaming platform.
- [Infrastructure and Backend](https://awesome-repositories.com/f/awesome-lists/devops/infrastructure-and-backend.md) — Distributed messaging middleware with queue models.

### Business & Productivity Software

- [Message Data Offloading](https://awesome-repositories.com/f/business-productivity-software/storage-aggregators/cloud-storage-offloaders/message-data-offloading.md) — Moves data from local disks to cheaper, larger storage mediums to extend retention periods. ([source](https://github.com/apache/rocketmq/tree/develop/tieredstore))
- [Message Filtering](https://awesome-repositories.com/f/business-productivity-software/tag-filtering-systems/message-filtering.md) — Enables precise message delivery using SQL expressions and metadata tags. ([source](https://github.com/apache/rocketmq#readme))

### Security & Cryptography

- [Authentication & Authorization Systems](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/identity-role-management/authentication-authorization-systems.md) — Controls system entry using integrated identity verification and granular permission enforcement. ([source](https://github.com/apache/rocketmq#readme))
- [Access Control List Management](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/policy-enforcement-engines/access-control-list-management.md) — Secures the system by restricting resource access through defined access control lists. ([source](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal))

### System Administration & Monitoring

- [Administrative Consoles](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/configuration-control-utilities/system-administration-tools/administration-tools/administrative-consoles.md) — Ships a web-based operations console for managing maintenance and operational tasks on the cluster. ([source](https://github.com/apache/rocketmq/blob/develop/README.md))
- [Cluster Monitoring Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/cluster-monitoring-dashboards.md) — Provides a centralized graphical dashboard for monitoring cluster metrics and modifying configurations. ([source](https://github.com/apache/rocketmq#readme))
- [Distributed Tracing](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/distributed-tracing-execution-analysis/distributed-tracing.md) — Integrates distributed tracing to track the end-to-end path of messages through the system. ([source](https://github.com/apache/rocketmq#readme))
- [Cluster Monitoring Systems](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/cluster-monitoring-systems.md) — Exports real-time health and performance metrics to external observability tools. ([source](https://github.com/apache/rocketmq/blob/develop/README.md))

### Web Development

- [Multi-Language Client Generation](https://awesome-repositories.com/f/web-development/api-client-generators/multi-language-client-generation.md) — Automates the creation of official client libraries for multiple programming languages to support diverse environments. ([source](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal))
