<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Apache_RocketMQ</id>
	<title>Apache RocketMQ - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Apache_RocketMQ"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Apache_RocketMQ&amp;action=history"/>
	<updated>2026-07-15T07:44:44Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Apache_RocketMQ&amp;diff=3163626&amp;oldid=prev</id>
		<title>imported&gt;Taeas：​维护清理</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Apache_RocketMQ&amp;diff=3163626&amp;oldid=prev"/>
		<updated>2023-08-01T12:27:05Z</updated>

		<summary type="html">&lt;p&gt;维护清理&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox software&lt;br /&gt;
| title = Apache RocketMQ&lt;br /&gt;
| name = Apache RocketMQ&lt;br /&gt;
| logo = Rmq-logo.png&lt;br /&gt;
| developer = Apache软件基金会&lt;br /&gt;
| released = {{Start date and age|2012}}&lt;br /&gt;
| programming language = [[Java]]&lt;br /&gt;
| operating system = [[跨平台]]&lt;br /&gt;
| genre = [[流处理]], 消息代理&lt;br /&gt;
| license = [[Apache许可证]] 2.0&lt;br /&gt;
| website = {{URL|https://rocketmq.apache.org/}}&lt;br /&gt;
}}&amp;#039;&amp;#039;&amp;#039;RocketMQ&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;{{Cite web|url=https://github.com/apache/rocketmq|title=apache/rocketmq|accessdate=2018-05-25|work=GitHub|language=en|archive-date=2019-08-01|archive-url=https://web.archive.org/web/20190801035300/https://github.com/apache/rocketmq|dead-url=no}}&amp;lt;/ref&amp;gt;是一个分布式消息和流数据平台，具有低延迟、高性能、高可靠性、万亿级容量和灵活的可扩展性。RocketMQ是2012年[[阿里巴巴集团|阿里巴巴]]开源的第三代分布式消息中间件，2016年11月21日，阿里巴巴向[[Apache软件基金会]]捐赠了RocketMQ；第二年2月20日，Apache软件基金会宣布Apache RocketMQ成为顶级项目。&lt;br /&gt;
&lt;br /&gt;
== 历史 ==&lt;br /&gt;
RocketMQ的发展可分为三个阶段。&amp;lt;ref&amp;gt;{{Cite web|url=https://www.infoq.com/articles/alibaba-apache-rocketmq|title=From Alibaba to Apache: RocketMQ’s Past, Present, and Future|accessdate=2018-06-26|work=InfoQ|archive-date=2018-06-19|archive-url=https://web.archive.org/web/20180619085852/https://www.infoq.com/articles/alibaba-apache-rocketmq|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
第一代在数据传输中使用push模式，在数据存储中使用[[关系数据库|关系型数据库]]。它展现了消息传递的低延迟，并且满足了具有分布式事务的典型电子商务平台&amp;lt;ref&amp;gt;{{Cite web|url=https://ieeexplore.ieee.org/document/7954949/|title=Toward a General Distributed Messaging Framework for Online Transaction Processing Applications - IEEE Journals &amp;amp; Magazine|accessdate=2018-06-26|work=ieeexplore.ieee.org|language=en-US|archive-date=2018-06-26|archive-url=https://web.archive.org/web/20180626083145/https://ieeexplore.ieee.org/document/7954949/|dead-url=no}}&amp;lt;/ref&amp;gt; 的用途。&lt;br /&gt;
&lt;br /&gt;
第二代在数据传输中使用pull模式，在数据存储中使用[[文件系统]]。它更注重稳定性和可靠性，并显示出与第一代响应时间和[[Apache Kafka|Kafka]]日志收集相当的性能。&lt;br /&gt;
&lt;br /&gt;
第三代将pull模式与一些push操作相结合。它继承了第一代和第二代的优点，并在并发性和大量数据场景中表现出高性能。&lt;br /&gt;
&lt;br /&gt;
== 功能 ==&lt;br /&gt;
各种消息传递解决方案之间已经进行了很多比较，众所周知，当主题数量急剧增加时，RocketMQ的吞吐量下降幅度远小于Kafka。&amp;lt;ref&amp;gt;{{Cite web|url=https://medium.com/@Alibaba_Cloud/kafka-vs-rocketmq-multiple-topic-stress-test-results-d27b8cbb360f|title=Kafka vs. RocketMQ- Multiple Topic Stress Test Results|accessdate=2018-07-08|author=Cloud|date=2018-01-04|first=Alibaba|work=Medium|archive-date=2018-07-08|archive-url=https://web.archive.org/web/20180708133807/https://medium.com/@Alibaba_Cloud/kafka-vs-rocketmq-multiple-topic-stress-test-results-d27b8cbb360f|dead-url=no}}&amp;lt;/ref&amp;gt;由于具有高性能、高可靠性和高实时性的特点，RocketMQ与其他协议组件在MQTT等各种消息场景中的结合也越来越多。&amp;lt;ref&amp;gt;{{Cite web|url=https://ieeexplore.ieee.org/document/8089955/|title=A MQTT Protocol Message Push Server Based on RocketMQ - IEEE Conference Publication|accessdate=2018-06-26|work=ieeexplore.ieee.org|language=en-US|archive-date=2018-06-19|archive-url=https://web.archive.org/web/20180619140831/https://ieeexplore.ieee.org/document/8089955/|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;客户端SDK&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;协议和规范&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;有序消息&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;计划消息&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;批量消息&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;广播消息&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;消息过滤器&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;small&amp;gt;Java，C++，Python，Go，Node.Js&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;Pull模式，支持TCP，JMS，OpenMessaging&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;确保严格的消息排序，并可以优雅地扩展&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;支持&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;支持同步模式以避免的消息损失&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;支持&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;支持基于SQL92的属性过滤器表达式&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;服务器触发的重传递&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;消息储存&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;消息追溯&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;消息优先权&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;高可用性和故障转移&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;消息跟踪&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
!&amp;#039;&amp;#039;&amp;#039;&amp;lt;small&amp;gt;配置&amp;lt;/small&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;small&amp;gt;支持&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;高性能和低延迟的文件存储&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;支持时间戳和偏移量两种表示&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;不支持&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;支持Master-Slave模型，不需要其他组件&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;支持&amp;lt;/small&amp;gt;&lt;br /&gt;
|&amp;lt;small&amp;gt;开箱即用，用户只需要注意几个配置&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 架构 ==&lt;br /&gt;
[[File:Rmq-structure.png]]&lt;br /&gt;
&lt;br /&gt;
RocketMQ由四部分组成：命名服务器（Name Server）、代理（Broker）、生产者（Producer）和消费者（Consumer），其中每一个都可以水平扩展而没有单点故障，如上图所示。&lt;br /&gt;
&lt;br /&gt;
=== 命名服务器集群 ===&lt;br /&gt;
命名服务器集群是用于服务发现的轻量级组件，它们可用于读取和写入路由信息。每个命名服务器可以记录全局信息，并支持快速存储扩展。&lt;br /&gt;
&lt;br /&gt;
=== 代理集群 ===&lt;br /&gt;
代理集群使用轻量级主题（topic）和[[队列]]（queue）机制来管理数据存储。为了实现容错，代理提供2份或3份数据。客户端可以在Push和Pull模型中获取消息。此外，还支持[[灾难恢复]]和丰富的指标统计信息。&lt;br /&gt;
&lt;br /&gt;
=== 生产者集群 ===&lt;br /&gt;
生产者（Producer）可以分布式部署，从生产者到代理的消息可以通过多路径进行平衡。此外，还支持快速故障恢复和低延迟。&lt;br /&gt;
&lt;br /&gt;
=== 消费者集群 ===&lt;br /&gt;
消费者也可以在Push和Pull模型中进行分布式部署，他们可以实时订阅消息，以集群为单位消费消息，同时还支持消息广播。&lt;br /&gt;
&lt;br /&gt;
== 应用 ==&lt;br /&gt;
Apache RocketMQ至少可以应用到以下五个方面：&lt;br /&gt;
&lt;br /&gt;
* 异构系统的集成；&lt;br /&gt;
* 应用程序之间的分离；&lt;br /&gt;
* 在事件驱动机制和复杂事件架构模型中的骨干；&lt;br /&gt;
* 数据复制渠道；&lt;br /&gt;
* 与流计算引擎集成。&lt;br /&gt;
&lt;br /&gt;
== 社区维护 ==&lt;br /&gt;
RocketMQ团队为活跃社区做了很多工作。聚会、研讨会、ApacheCon和Code Marathon定期在北京、深圳、杭州等地举行，以吸引新的贡献者和提交者。OpenMessaging基准测试套件目前可用于RocketMQ，它使RocketMQ与分布式消息传递的全球标准保持同步。&amp;lt;ref&amp;gt;{{Cite web|url=http://openmessaging.cloud/docs/benchmarks/|title=The OpenMessaging Benchmark Framework|accessdate=2018-07-08|work=openmessaging.cloud|archive-date=2018-06-25|archive-url=https://web.archive.org/web/20180625005414/http://openmessaging.cloud/docs/benchmarks/|dead-url=no}}&amp;lt;/ref&amp;gt;对于版本管理，采用了一系列标准化的软件开发过程。最新版本是4.2.0，4.3.0即将推出。可在[https://github.com/apache/rocketmq 此处]{{Wayback|url=https://github.com/apache/rocketmq |date=20190801035300 }}获取更多信息。&lt;br /&gt;
&lt;br /&gt;
== 获奖 ==&lt;br /&gt;
[https://www.oschina.net/question/2886655_2216338 2016年度最受欢迎中国开源软件奖]{{Wayback|url=https://www.oschina.net/question/2886655_2216338 |date=20180619063413 }}&lt;br /&gt;
&lt;br /&gt;
[https://www.oschina.net/question/2896879_2271735 2017年度最受欢迎中国开源软件奖]{{Wayback|url=https://www.oschina.net/question/2896879_2271735 |date=20180619063522 }}&lt;br /&gt;
&lt;br /&gt;
[http://www.copu.org.cn/new/266 第12次中日韩(中国-日本-韩国)开源软件优秀技术奖]{{Wayback|url=http://www.copu.org.cn/new/266 |date=20181230102031 }}&lt;br /&gt;
&lt;br /&gt;
[https://www.oschina.net/question/2896879_2290300?sort=default&amp;amp; 2018年度最受欢迎中国开源软件奖]{{Wayback|url=https://www.oschina.net/question/2896879_2290300?sort=default&amp;amp; |date=20190102143223 }}&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
{{Columns-list|*[[Apache ActiveMQ]]&lt;br /&gt;
*[[Apache Flink]]&lt;br /&gt;
*[[Apache Qpid]]&lt;br /&gt;
*[[Apache Samza]]&lt;br /&gt;
*[[Apache Spark|Apache Spark Streaming]]&lt;br /&gt;
*[[Data Distribution Service]]&lt;br /&gt;
*[[Enterprise Integration Patterns]]&lt;br /&gt;
*[[Enterprise messaging system]]&lt;br /&gt;
*[[Event stream processing|Streaming analytics]]&lt;br /&gt;
*[[Event-driven SOA]]&lt;br /&gt;
*[[Message-oriented middleware]]&lt;br /&gt;
*[[Service-oriented architecture]]&lt;br /&gt;
*[[StormMQ]]&lt;br /&gt;
*[[Apache Kafka]]|colwidth=15em}}&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
&lt;br /&gt;
* [https://rocketmq.apache.org/ Apache RocketMQ网站]{{Wayback|url=https://rocketmq.apache.org/ |date=20181228001523 }}&lt;br /&gt;
* [https://github.com/apache/rocketmq-externals Apache RocketMQ Externals]{{Wayback|url=https://github.com/apache/rocketmq-externals |date=20180613004802 }}&lt;br /&gt;
* [https://ieeexplore.ieee.org/document/8089955/ 基于RocketMQ的MQTT协议消息推送服务器]{{Wayback|url=https://ieeexplore.ieee.org/document/8089955/ |date=20180619140831 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{apache}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:面向消息的中间件]]&lt;br /&gt;
[[Category:Java平台]]&lt;br /&gt;
[[Category:Apache软件基金会项目]]&lt;br /&gt;
[[Category:有未审阅翻译的页面]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Taeas</name></author>
	</entry>
</feed>