fbpx
维基百科

Apache RocketMQ

RocketMQ[2]是一个分布式消息和流数据平台,具有低延迟、高性能、高可靠性、万亿级容量和灵活的可扩展性。RocketMQ是2012年阿里巴巴开源的第三代分布式消息中间件,2016年11月21日,阿里巴巴向Apache软件基金会捐赠了RocketMQ;第二年2月20日,Apache软件基金会宣布Apache RocketMQ成为顶级项目。

Apache RocketMQ
開發者Apache软件基金会
首次发布2012年,​10年前​(2012
当前版本
  • 5.1.0 (2023年2月20日)[1]
源代码库
  • github.com/apache/rocketmq
编程语言Java
操作系统跨平台
类型流处理, 消息代理
许可协议Apache许可证 2.0
网站rocketmq.apache.org

历史 编辑

RocketMQ的发展可分为三个阶段。[3]

第一代在数据传输中使用push模式,在数据存储中使用关系型数据库。它展现了消息传递的低延迟,并且满足了具有分布式事务的典型电子商务平台[4] 的用途。

第二代在数据传输中使用pull模式,在数据存储中使用文件系统。它更注重稳定性和可靠性,并显示出与第一代响应时间和Kafka日志收集相当的性能。

第三代将pull模式与一些push操作相结合。它继承了第一代和第二代的优点,并在并发性和大量数据场景中表现出高性能。

功能 编辑

各种消息传递解决方案之间已经进行了很多比较,众所周知,当主题数量急剧增加时,RocketMQ的吞吐量下降幅度远小于Kafka。[5]由于具有高性能、高可靠性和高实时性的特点,RocketMQ与其他协议组件在MQTT等各种消息场景中的结合也越来越多。[6]

客户端SDK 协议和规范 有序消息 计划消息 批量消息 广播消息 消息过滤器
Java,C++,Python,Go,Node.Js Pull模式,支持TCP,JMS,OpenMessaging 确保严格的消息排序,并可以优雅地扩展 支持 支持同步模式以避免的消息损失 支持 支持基于SQL92的属性过滤器表达式
服务器触发的重传递 消息储存 消息追溯 消息优先权 高可用性和故障转移 消息跟踪 配置
支持 高性能和低延迟的文件存储 支持时间戳和偏移量两种表示 不支持 支持Master-Slave模型,不需要其他组件 支持 开箱即用,用户只需要注意几个配置

架构 编辑

 

RocketMQ由四部分组成:命名服务器(Name Server)、代理(Broker)、生产者(Producer)和消费者(Consumer),其中每一个都可以水平扩展而没有单点故障,如上图所示。

命名服务器集群 编辑

命名服务器集群是用于服务发现的轻量级组件,它们可用于读取和写入路由信息。每个命名服务器可以记录全局信息,并支持快速存储扩展。

代理集群 编辑

代理集群使用轻量级主题(topic)和队列(queue)机制来管理数据存储。为了实现容错,代理提供2份或3份数据。客户端可以在Push和Pull模型中获取消息。此外,还支持灾难恢复和丰富的指标统计信息。

生产者集群 编辑

生产者(Producer)可以分布式部署,从生产者到代理的消息可以通过多路径进行平衡。此外,还支持快速故障恢复和低延迟。

消费者集群 编辑

消费者也可以在Push和Pull模型中进行分布式部署,他们可以实时订阅消息,以集群为单位消费消息,同时还支持消息广播。

应用 编辑

Apache RocketMQ至少可以应用到以下五个方面:

  • 异构系统的集成;
  • 应用程序之间的分离;
  • 在事件驱动机制和复杂事件架构模型中的骨干;
  • 数据复制渠道;
  • 与流计算引擎集成。

社区维护 编辑

RocketMQ团队为活跃社区做了很多工作。聚会、研讨会、ApacheCon和Code Marathon定期在北京、深圳、杭州等地举行,以吸引新的贡献者和提交者。OpenMessaging基准测试套件目前可用于RocketMQ,它使RocketMQ与分布式消息传递的全球标准保持同步。[7]对于版本管理,采用了一系列标准化的软件开发过程。最新版本是4.2.0,4.3.0即将推出。可在此处(页面存档备份,存于互联网档案馆)获取更多信息。

获奖 编辑

2016年度最受欢迎中国开源软件奖(页面存档备份,存于互联网档案馆

2017年度最受欢迎中国开源软件奖(页面存档备份,存于互联网档案馆

第12次中日韩(中国-日本-韩国)开源软件优秀技术奖(页面存档备份,存于互联网档案馆

2018年度最受欢迎中国开源软件奖(页面存档备份,存于互联网档案馆

参见 编辑

参考文献 编辑

  1. ^ Release 5.1.0. 2023年2月20日 [2023年3月8日]. 
  2. ^ apache/rocketmq. GitHub. [2018-05-25]. (原始内容于2019-08-01) (英语). 
  3. ^ From Alibaba to Apache: RocketMQ’s Past, Present, and Future. InfoQ. [2018-06-26]. (原始内容于2018-06-19). 
  4. ^ Toward a General Distributed Messaging Framework for Online Transaction Processing Applications - IEEE Journals & Magazine. ieeexplore.ieee.org. [2018-06-26]. (原始内容于2018-06-26) (美国英语). 
  5. ^ Cloud, Alibaba. Kafka vs. RocketMQ- Multiple Topic Stress Test Results. Medium. 2018-01-04 [2018-07-08]. (原始内容于2018-07-08). 
  6. ^ A MQTT Protocol Message Push Server Based on RocketMQ - IEEE Conference Publication. ieeexplore.ieee.org. [2018-06-26]. (原始内容于2018-06-19) (美国英语). 
  7. ^ The OpenMessaging Benchmark Framework. openmessaging.cloud. [2018-07-08]. (原始内容于2018-06-25). 

外部链接 编辑


apache, rocketmq, rocketmq, 是一个分布式消息和流数据平台, 具有低延迟, 高性能, 高可靠性, 万亿级容量和灵活的可扩展性, rocketmq是2012年阿里巴巴开源的第三代分布式消息中间件, 2016年11月21日, 阿里巴巴向apache软件基金会捐赠了rocketmq, 第二年2月20日, apache软件基金会宣布成为顶级项目, 開發者apache软件基金会首次发布2012年, 10年前, 2012, 当前版本5, 2023年2月20日, 源代码库github, apache, . RocketMQ 2 是一个分布式消息和流数据平台 具有低延迟 高性能 高可靠性 万亿级容量和灵活的可扩展性 RocketMQ是2012年阿里巴巴开源的第三代分布式消息中间件 2016年11月21日 阿里巴巴向Apache软件基金会捐赠了RocketMQ 第二年2月20日 Apache软件基金会宣布Apache RocketMQ成为顶级项目 Apache RocketMQ開發者Apache软件基金会首次发布2012年 10年前 2012 当前版本5 1 0 2023年2月20日 1 源代码库github wbr com wbr apache wbr rocketmq编程语言Java操作系统跨平台类型流处理 消息代理许可协议Apache许可证 2 0网站rocketmq wbr apache wbr org目录 1 历史 2 功能 3 架构 3 1 命名服务器集群 3 2 代理集群 3 3 生产者集群 3 4 消费者集群 4 应用 5 社区维护 6 获奖 7 参见 8 参考文献 9 外部链接历史 编辑RocketMQ的发展可分为三个阶段 3 第一代在数据传输中使用push模式 在数据存储中使用关系型数据库 它展现了消息传递的低延迟 并且满足了具有分布式事务的典型电子商务平台 4 的用途 第二代在数据传输中使用pull模式 在数据存储中使用文件系统 它更注重稳定性和可靠性 并显示出与第一代响应时间和Kafka日志收集相当的性能 第三代将pull模式与一些push操作相结合 它继承了第一代和第二代的优点 并在并发性和大量数据场景中表现出高性能 功能 编辑各种消息传递解决方案之间已经进行了很多比较 众所周知 当主题数量急剧增加时 RocketMQ的吞吐量下降幅度远小于Kafka 5 由于具有高性能 高可靠性和高实时性的特点 RocketMQ与其他协议组件在MQTT等各种消息场景中的结合也越来越多 6 客户端SDK 协议和规范 有序消息 计划消息 批量消息 广播消息 消息过滤器Java C Python Go Node Js Pull模式 支持TCP JMS OpenMessaging 确保严格的消息排序 并可以优雅地扩展 支持 支持同步模式以避免的消息损失 支持 支持基于SQL92的属性过滤器表达式服务器触发的重传递 消息储存 消息追溯 消息优先权 高可用性和故障转移 消息跟踪 配置支持 高性能和低延迟的文件存储 支持时间戳和偏移量两种表示 不支持 支持Master Slave模型 不需要其他组件 支持 开箱即用 用户只需要注意几个配置架构 编辑 nbsp RocketMQ由四部分组成 命名服务器 Name Server 代理 Broker 生产者 Producer 和消费者 Consumer 其中每一个都可以水平扩展而没有单点故障 如上图所示 命名服务器集群 编辑 命名服务器集群是用于服务发现的轻量级组件 它们可用于读取和写入路由信息 每个命名服务器可以记录全局信息 并支持快速存储扩展 代理集群 编辑 代理集群使用轻量级主题 topic 和队列 queue 机制来管理数据存储 为了实现容错 代理提供2份或3份数据 客户端可以在Push和Pull模型中获取消息 此外 还支持灾难恢复和丰富的指标统计信息 生产者集群 编辑 生产者 Producer 可以分布式部署 从生产者到代理的消息可以通过多路径进行平衡 此外 还支持快速故障恢复和低延迟 消费者集群 编辑 消费者也可以在Push和Pull模型中进行分布式部署 他们可以实时订阅消息 以集群为单位消费消息 同时还支持消息广播 应用 编辑Apache RocketMQ至少可以应用到以下五个方面 异构系统的集成 应用程序之间的分离 在事件驱动机制和复杂事件架构模型中的骨干 数据复制渠道 与流计算引擎集成 社区维护 编辑RocketMQ团队为活跃社区做了很多工作 聚会 研讨会 ApacheCon和Code Marathon定期在北京 深圳 杭州等地举行 以吸引新的贡献者和提交者 OpenMessaging基准测试套件目前可用于RocketMQ 它使RocketMQ与分布式消息传递的全球标准保持同步 7 对于版本管理 采用了一系列标准化的软件开发过程 最新版本是4 2 0 4 3 0即将推出 可在此处 页面存档备份 存于互联网档案馆 获取更多信息 获奖 编辑2016年度最受欢迎中国开源软件奖 页面存档备份 存于互联网档案馆 2017年度最受欢迎中国开源软件奖 页面存档备份 存于互联网档案馆 第12次中日韩 中国 日本 韩国 开源软件优秀技术奖 页面存档备份 存于互联网档案馆 2018年度最受欢迎中国开源软件奖 页面存档备份 存于互联网档案馆 参见 编辑Apache ActiveMQ 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 StormMQ Apache Kafka参考文献 编辑 Release 5 1 0 2023年2月20日 2023年3月8日 apache rocketmq GitHub 2018 05 25 原始内容存档于2019 08 01 英语 From Alibaba to Apache RocketMQ s Past Present and Future InfoQ 2018 06 26 原始内容存档于2018 06 19 Toward a General Distributed Messaging Framework for Online Transaction Processing Applications IEEE Journals amp Magazine ieeexplore ieee org 2018 06 26 原始内容存档于2018 06 26 美国英语 Cloud Alibaba Kafka vs RocketMQ Multiple Topic Stress Test Results Medium 2018 01 04 2018 07 08 原始内容存档于2018 07 08 A MQTT Protocol Message Push Server Based on RocketMQ IEEE Conference Publication ieeexplore ieee org 2018 06 26 原始内容存档于2018 06 19 美国英语 The OpenMessaging Benchmark Framework openmessaging cloud 2018 07 08 原始内容存档于2018 06 25 外部链接 编辑Apache RocketMQ网站 页面存档备份 存于互联网档案馆 Apache RocketMQ Externals 页面存档备份 存于互联网档案馆 基于RocketMQ的MQTT协议消息推送服务器 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title Apache RocketMQ amp oldid 78334803, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。