RocketMQ_01 RocketMQ入门简介及核心概念

伟大的事物不是一时冲动做起来的,而是由一系列小事共同造就的

一、RocketMQ简介

RocketMQ是一款分布式、列队模型的消息中间件,由阿里巴巴研发,借鉴参考了JMS规范的MQ实现,更参考了优秀的开源消息中间件KAFKA,并且结合阿里实际业务需求在天猫双十一的场景,实现业务削峰,分布式事务的优秀框架。之前git上是alibaba,现在已经转移到apache旗下,目前最新版本为4.4。我使用的版本为alibaba3.2.6

Git地址:https://github.com/apache/rocketmq

二、RocketMQ特性

  1. 参考了JMS规范,但有些概念与标准JMS规范不同
  2. 底层通讯代码采用Netty NIO框架进行数据通信
  3. 3.X版本开始摈弃了Zookeeper,内部采用更轻量级的NameServer进行网络路由,提高服务性能,天然支持消息重试机制
  4. 天然支持集群模型,消费者负载均衡
  5. 采用零拷贝原理,顺序写盘,支持亿级消息堆积能力
  6. 提供丰富的消息机制,如顺序消息,事务消息等等
  7. 提供丰富的消息拉取模式
  8. 能够保证严格的消息顺序
  9. 高效的订阅者水平扩展能力
  10. 实时的消息订阅机制,支持广播模式

三、选择RocketMQ的优势

apache官方解释网址如下:
http://rocketmq.apache.org/docs/motivation/
其主要原因大概如下:

  1. 强调集群无单点,可扩展,任意一点高可用,水平可扩展
  2. 海量消息堆积能力,消息堆积后,写入低延迟
  3. 支持上万个队列(与ActiveMQ进行对比)
  4. 消息失败重试机制
  5. 消息可查询
  6. 开源社区活跃
  7. 成熟度(经过双十一考验)

四、专业术语

Producer

消息生产者,负责产生消息,一般由业务系统负责产生消息。

Consumer

消息消费者,负责消费消息,一般是后台系统负责异步消费。

Push Consumer

Consumer 的一种,应用通常为Consumer对象注册一个Listener接口,一旦收到消息,Consumer 对象立刻回调 Listener 接口方法。

Pull Consumer

Consumer 的一种,应用通常主动调用Consumer的拉消息方法从Broker拉消息,主动权由应用控制。

Producer Group

一类 Producer 的集合名称,返类 Producer 通常发送一类消息,且发送逻辑一致。

Consumer Group

一类 Consumer 的集合名称,返类 Consumer 通常消费一类消息,且消费逻辑一致。

Broker

消息中转角色,负责存储消息,转収消息,一般也称为 Server。在 JMS 规范中称为 Provider。

RocketMQ_01 RocketMQ入门简介及核心概念相关推荐

  1. RocketMQ简介及核心概念说明

    1.1.RocketMQ简介 Apache RocketMQ是一个采用Java语言开发的分布式的消息系统,由阿里巴巴团队开发,与2016年底贡献给 Apache,成为了Apache的一个顶级项目. 在 ...

  2. rocketmq 顺序消费_RocketMQ核心概念扫盲

    在正式进入RocketMQ的学习之前,我觉得有必要梳理一下RocketMQ核心概念,为大家学习RocketMQ打下牢固的基础. 1.RocketMQ部署架构 在RocketMQ主要的组件如下: Nam ...

  3. Mybatis简介及其核心概念

    千寻铁锁沉江底,一片降幡出石头.--刘禹锡<西塞山怀古> Mybatis简介 Mybatis是什么? MyBatis(3.x以前的版本叫ibatis)是一款一流的支持自定义SQL.存储过程 ...

  4. Zookeeper简介及核心概念

    一.Zookeeper简介 Zookeeper 是一个开源的分布式协调服务,目前由 Apache 进行维护.Zookeeper 可以用于实现分布式系统中常见的发布/订阅.负载均衡.命令服务.分布式协调 ...

  5. Spark入门必读:核心概念介绍及常用RDD操作

    导读:Spark是由加州大学伯克利分校AMP实验室开源的分布式大规模数据处理通用引擎,具有高吞吐.低延时.通用易扩展.高容错等特点.Spark内部提供了丰富的开发库,集成了数据分析引擎Spark SQ ...

  6. 计算机网络|新手入门相关的核心概念

    计算机网络|相关的核心概念 计算机网络基础概念 1.主机 2.通信链路 3.传输速率 4.分组 5.转发表 6.路由器 7.交换机 8.集线器 9.半双工模式 10.全双工模式 11.路径 12.因特 ...

  7. Spark入门-了解Spark核心概念

    在本文中我们将从Spark集群角度和程序应用的角度来对相关概念进行了解 一. 站在集群角度 1.1 Master Spark 特有资源调度系统的 Leader.掌管着整个集群的资源信息,类似于 Yar ...

  8. 银行核心系统入门简介

    文章来源与某位大神的力作,写的非常好,科目的地方首位科目号有待商榷,但总之看完后很多东西一目了然. 银行核心系统入门简介 本文的目标读者是准备从事银行核心系统开发.维护的从业人员.请注意,是" ...

  9. 二.Kafka入门到精通-Kafka核心概念

    前言 上一篇我们认识了一下Kafka以及完成了一个快速入门程序.这篇文章我们将学习Kafka的整体架构,工作流程,以及一些核心概念,正所谓知其然知其所以然. Kafka的架构 我们知道,消息队列的工作 ...

最新文章

  1. 图像分割深度学习从零开始学习路线
  2. 弗林德斯大学计算机科学,想成为IT大神?就去学习弗林德斯大学计算机科学专业...
  3. 【Java 集合】Java 集合的线程安全性 ( 加锁同步 | java.utils 集合 | 集合属性 | java.util.concurrent 集合 | CopyOnWrite 机制 )
  4. 2013NOIP普级组-- 小朋友的数字
  5. linux撤销编辑内容,linux编辑利器vim常用操作
  6. Vim的使用和快捷键介绍
  7. python可以用来整理表格吗_Python将多份excel表格整理成一份表格
  8. 功率谱 魏凤英统计程序_单通道语音增强之统计信号模型
  9. 【Oracle】Oracle基本数据类型总结
  10. Matlab imfilter函数
  11. git 使用代理加速
  12. 水平面:篡命铜钱の1
  13. 3.Android 仿QQ运动步数进度效果 keep运动效果(从入门到巅峰)
  14. 【实例学模式】一针见血装饰器模式
  15. [交易日记]2016-11-24交易笔记
  16. OpenCV 形态学操作应用——提取水平与垂直线
  17. 知网CAJ直接PDF下载,并且autoBookMark添加书目
  18. 格雷希尔G72L系列法兰式密封快速连接器的应用
  19. JAVA虚拟机学习总结
  20. 这是一个最好的时代,也是一个最坏的时代 ?

热门文章

  1. IDEA20190103 For Mac 破解方法
  2. deepin软件中文乱码
  3. 树莓派连接HDMI转VGA显示:输出超出范围
  4. android wifi连接与断开
  5. 自己写的第一个android 游戏《是男人就下100层》
  6. 华尔街日报中文网络版
  7. python调用msfconsole全自动永恒之蓝攻击_永恒之蓝漏洞攻击完整步骤
  8. QQ2008 msg.db,user.db读取
  9. kombu.exceptions.EncodeError: Object of type NewUser is not JSON serializable
  10. (CVPR-2019)选择性的内核网络