Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 Features  





3 Architecture  



3.1  NameServer Cluster  





3.2  Broker Cluster  





3.3  Producer Cluster  





3.4  Consumer Cluster  







4 Applications  





5 Community Maintenance  





6 Awards  





7 See also  





8 References  





9 External links  














Apache RocketMQ






Tiếng Vit

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Apache RocketMQ
Developer(s)Apache Software Foundation
Initial release2012; 12 years ago (2012)
Stable release

5.0.0 / September 9, 2022; 22 months ago (2022-09-09)[1]

RepositoryRocketMQ Repository
Written inJava
Operating systemCross-platform
TypeStream processing, Message broker
LicenseApache License 2.0
Websiterocketmq.apache.org

RocketMQ[2] is a distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level capacity and flexible scalability. It is the third generation distributed messaging middleware open sourced by Alibaba in 2012. On November 21, 2016, Alibaba donated RocketMQ to the Apache Software Foundation. Next year, on February 20, the Apache Software Foundation announced Apache RocketMQ as a Top-Level Project.

History

[edit]

The development of RocketMQ can be divided into three stages.[3]

The first generation uses the push mode in data transportation, and relational database in data storage. It shows low latency in message delivery and meets the command of a typical E-commerce platform[4] with distributed transactions.

The second generation uses the pull mode in data transportation, and file system in data storage. It paid more attention to stability and reliability, and shows a comparable performance to the first generation in response time and Kafka on log collection.

The third generation combines the Pull mode with some Push operations. It inherits the advantages of the first and second generation, and shows high performance in concurrency and massive amounts of data scenarios.

Features

[edit]

Much comparison have been made between the various messaging solutions, and it is widely known that when the number of topics increases dramatically, the throughput of RocketMQ dropped much less than Kafka.[5] Because the characteristics of high performance, high reliability and high real-time ability, more and more efforts have been made to the combination of RocketMQ and other protocol components in every type of messaging scenarios such as MQTT.[6]

Client SDK Protocol and Specification Ordered Message Scheduled Message Batched Message BroadCast Message Message Filter Server Triggered Redelivery
Java, C/C++, Python, Go, Nodejs Pull model, support TCP, JMS, OpenMessaging Ensure strict ordering of messages, and can scale out gracefully Supported Supported, with sync mode to avoid message loss Supported Supported, property filter expressions based on SQL92 Supported
Message Storage Message Retroactive Message Priority High Availability and Failover Message Track Configuration
High performance and low latency file storage Supported timestamp and offset two indicates Not Supported Supported, Master-Slave model, without another kit Supported Work out of box,user only need to pay attention to a few configurations

Architecture

[edit]

RocketMQ consists of four parts: name servers, brokers, producers and consumers. Each of them can be horizontally extended without a single point of Failure. As shown in image left.

NameServer Cluster

[edit]

The lightweight component for service discovery and they can be used to read and write routing information. Each one records global information, and supports fast storage expansion.

Broker Cluster

[edit]

They use lightweight TOPIC and QUEUE mechanisms to manage data storage. To realize fault tolerance, two copies or three copies of data are provided. And Client can get message in Push and Pull model. In addition, disaster recovery and rich metrics statistics are also supported.

Producer Cluster

[edit]

Producers can be distributed deployed, and messages from producers to brokers can be balanced through multi-path. In addition, fast failure and low latency are supported.

Consumer Cluster

[edit]

Consumers can also be distributed deployed in the push and pull model, and they can subscribe message real-time, consume message in the unit of cluster. Message broadcasting is also supported.

Applications

[edit]

There are at least five aspects Apache RocketMQ could relate to:

Community Maintenance

[edit]

The RocketMQ team has done much to keep the community active. Meetups, workshops, ApacheCon and Code Marathons are regularly held in Beijing, Shenzhen and Hangzhou to attract new contributors and committers. The OpenMessaging benchmarking suites are available for RocketMQ now, helping RocketMQ keep pace with the global standard for distributed messaging.[7] As for version management, a series of standardized software development processes have been adopted. The latest version is 4.2.0, with 4.3.0 on the way. More information can be obtained here.

Awards

[edit]

2016 China's most popular open source software award Archived 2018-06-19 at the Wayback Machine

2017 China's most popular open source software award Archived 2018-06-19 at the Wayback Machine

16th CJK(China-Japan-South Korea) open source software outstanding technology award

2018 China's most popular open source software award Archived 2019-01-02 at the Wayback Machine

2019 China's most popular open source software award

See also

[edit]
  • Apache Flink
  • Apache Qpid
  • Apache Samza
  • Apache Spark Streaming
  • Data Distribution Service
  • Enterprise Integration Patterns
  • Enterprise messaging system
  • Streaming analytics
  • Event-driven SOA
  • Message-oriented middleware
  • Service-oriented architecture
  • Apache Kafka
  • References

    [edit]
    1. ^ "Release Notes - Apache RocketMQ - Version 5.0.0". 9 September 2022. Retrieved 27 September 2022.
  • ^ "apache/rocketmq". GitHub. Retrieved 2018-05-25.
  • ^ "From Alibaba to Apache: RocketMQ's Past, Present, and Future". InfoQ. Retrieved 2018-06-26.
  • ^ Liao, Jianwei; Zhuang, Xiaodan; Fan, Renyi; Peng, Xiaoning (2017). "Toward a General Distributed Messaging Framework for Online Transaction Processing Applications". IEEE Access. 5: 18166–18178. Bibcode:2017IEEEA...518166L. doi:10.1109/ACCESS.2017.2717930.
  • ^ Cloud, Alibaba (2018-01-04). "Kafka vs. RocketMQ- Multiple Topic Stress Test Results". Medium. Retrieved 2018-07-08.
  • ^ Yue, Ma; Ruiyang, Yan; Jianwei, Sun; Kaifeng, Yao (2017). "A MQTT Protocol Message Push Server Based on RocketMQ". 2017 10th International Conference on Intelligent Computation Technology and Automation (ICICTA). pp. 295–298. doi:10.1109/ICICTA.2017.72. ISBN 978-1-5386-1230-9. S2CID 28825800.
  • ^ "The OpenMessaging Benchmark Framework". openmessaging.cloud. Retrieved 2018-07-08.
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Apache_RocketMQ&oldid=1225361455"

    Category: 
    Apache Software Foundation projects
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles with topics of unclear notability from November 2023
    All articles with topics of unclear notability
    Products articles with topics of unclear notability
    Articles with multiple maintenance issues
    Webarchive template wayback links
     



    This page was last edited on 23 May 2024, at 23:31 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki