简介:

RocketMQ是阿里巴巴出品的一款低延迟,可靠,可扩展,易于使用的面向消息的中间件,支撑着阿里巴巴集团庞大的消息业务增长。RocketMQ是基于MetaQ的一个开源分支,几乎重写了MetaQ所有的核心组件,可以说是MetaQ的下一代产品。同时也是阿里云的ONS云消息服务的核心组件,每天可处理上千亿条消息,服务于阿里内部上千个应用,顺利通过淘宝,天猫‘双11’等大促考验。

提供的多种功能:

支持Pub/Sub和P2P消息模型
    在同一个队列中具有可靠的FIFO和严格的通信顺序
    长pull queue模型,也支持push消费方式
    在单个队列中具备堆积上亿条消息的能力
    覆盖多种消息协议,如JMS,MQTT,HTTP2等
    每个消息至少投递一次的Message delivery semantics来保证分布式部署架构高可用
    支持Docker镜像来进行隔离测试和云隔离集群
    提供用于配置,测量和监控的功能丰富的管理界面
    消息全链路追踪
    生产者事务消息机制,使得生产者和本地数据库事务能在一个原子操作里面进行处理
    消息调度交付,类似JMS2规范的延迟支付

 
1,物理部署结构:
网络部署的特点:
  • Name Server(名称服务)是一个几乎无状态节点,可集群部署,节点之间无任何信息同步
  • Broker部署相对复杂,Broker分为Master和Slave,一个主对应多个从,但是一个从只能对应一个主,主从对应关系通过指定相同的BrokerName,不同的BrokerId来定义,BrokerId为0表示Master,非0表示Slave。Master可以部署多个,每个Broker与Name Server集群中的所有节点建立长连接,定时注册Topic信息到所有Name Server。
  • Producer与Name Server集群中的其中一个节点(随机选择)简历长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master建立长连接,且定时向Master发送心跳。Producer完全无状态,可集群部署。
  • Consumer与Name Server集群中的一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master,Slave建立长连接,且定时向Master,Slave发送心跳。Consumer既可以从Master订阅消息,也可以从Slave订阅消息,订阅规则由Broker配置决定。
2,逻辑部署结构:
Producer Group:用来表示一个发送消息的应用。一个Producer Group下包含多个Producer实例,可以是多台机器,也可以是一台机器的多个进程,或者一个进程中多个Producer对象。一个Producer Group可以发送多个Topic消息,Producer Group的作用如下:
  • 标识一类Producer
  • 可以通过运维工具查询这个发送消息的应用下有多个Producer实例
  • 发送分布式事务消息时,如果Producer中途意外宕机,Broker会主动回调Producer Group内的任意一台机器来确认事务状态

Consumer Group:用来表示一个消费消息的应用。一个Consumer Group下包含多个Consumer实例,可以是多台机器,也可以是多个进程,或者是一个进程的多个Consumer对象。一个Group下的多个Consumer以均摊方式消费消息,如果设置为广播方式,那么这个Consumer Group下的每个实例都消费全量数据。需要注意的是,同一个Consumer Group中的Consumer实例必须有相同的topic subscription。可以说,Consumer Group的概念,变相的实现了消息领域点对点和广播通信模式。

内容取自:<<分布式系统常用技术及案例分析>>

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

转载于:https://www.cnblogs.com/shangdongbin/p/7692620.html

简单理解RocketMQ---入门相关推荐

  1. rocketmq 顺序消费_必须先理解的RocketMQ入门手册,才能再次深入解读

    推荐阅读一下下 2020年后想跳槽?MQ.ZK.Nginx.Kafk等分布式技术你都掌握了? 阿里架构师推荐学习的<RabbitMQ实战指南>,渣渣的你都看过吗? RocketMQ入门手册 ...

  2. 入门启发:音视频的简单理解

    算机技术领域中,『音视频技术』应该说算是较复杂的小门类.较复杂的东西有个简单的入门指引,或者有前辈带路是很重要的. 前阵子,因为项目中急需音视频技术,虽然网上资料看似很丰富,但对初学者来说,很多资料都 ...

  3. rocketmq 订阅组_必须先理解的RocketMQ入门手册,才能再次深入解读

    推荐阅读一下下 2020年后想跳槽?MQ.ZK.Nginx.Kafk等分布式技术你都掌握了? 阿里架构师推荐学习的<RabbitMQ实战指南>,渣渣的你都看过吗? RocketMQ入门手册 ...

  4. 【深度学习入门基础】二、简单理解 Transformer

    [深度学习入门基础]二.简单理解 Transformer 文章目录 [深度学习入门基础]二.简单理解 Transformer 自注意力层 多头注意力 Transformer 输入(输出)嵌入 位置编码 ...

  5. Spring Boot 消息队列 RocketMQ 入门

    转载自  芋道 Spring Boot 消息队列 RocketMQ 入门 摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/RocketMQ/ 「芋道源码」欢迎转载 ...

  6. RocketMQ入门到入土(二)事务消息顺序消息

    精彩推荐 一百期Java面试题汇总 SpringBoot内容聚合 IntelliJ IDEA内容聚合 Mybatis内容聚合 接上一篇:RocketMQ入门到入土(一)新手也能看懂的原理和实战! 一. ...

  7. RocketMQ入门及部署

    RocketMQ入门及部署 RocketMQ整体架构 如上图所示,整体可以分成4个角色,分别是:Producer,Consumer,Broker以及NameServer: 1.NameServer 可 ...

  8. 芋道 Spring Boot 消息队列 RocketMQ 入门

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  9. RocketMq 入门

    RocketMq 入门 主要摘取自 消息队列和 RocketMQ 入门总结 建议大家先取看原文,本文主要摘取自上面这片大佬文章,稍加删减并细化了部分内容. 本章主要能粗略解释的问题 消息队列出现的原因 ...

  10. 公钥,私钥和数字签名这样理解轻松入门!

    公钥,私钥和数字签名这样理解轻松入门! 参考博文:https://blog.csdn.net/21aspnet/article/details/7249401 (公钥和私钥是成对出现的,可以把他们看成 ...

最新文章

  1. 205页PPT,看5G+AI引领的下一个时代!
  2. Elasticsearch分布式一致性原理剖析(一)-节点篇
  3. netstat -ano 查看机器端口占用情况
  4. C#200个基础工具类,史上最全快收藏下载
  5. 抖音快手小视频推荐算法之--协同过滤算法剖析
  6. lm723大电流可调电源电路图_三端稳压模块LM338组成的高精度大电流可调稳压电源,电流可到达5A...
  7. mysql 运行 compile_install mysql by compile(通过编译安装mysql)
  8. [Ruby on Rails系列]3、初试Rails:使用Rails开发第一个Web程序
  9. 关于html中table表格tr,td的高度和宽度
  10. window的git extensions保存密码
  11. 图的应用之--图的连通
  12. PS 怎么去掉图片上的文字
  13. ceph pg peering和恢复 (2)
  14. 第六章、正弦稳态电路分析
  15. 杭州电商java招聘_2021年IUU旅行 JAVA开发工程师J11179招聘-IUU旅行 JAVA开发工程师J11179招聘求职信息-拉勾招聘...
  16. 计算机上的放大快捷键,电脑放大镜热键 怎么取消电脑放大镜快捷键?
  17. 辛东方重组百花园传媒 人员大调整
  18. ODL MD-SAL Data Transactions
  19. CityMaker 8二次开发记事
  20. HTML设置背景图片

热门文章

  1. ADL之UI初预览 AJAX 开发
  2. plsql设置代码提示和自动补全
  3. Java神鬼莫测之MyBatis实现分页全过程(三)
  4. 正则表达式过滤多个词语并替换为相同长度的星号
  5. 34. 丑数(C++版本)
  6. 07. 如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉
  7. 使用JAVA的keytool生成jks证书,通过jks证书生成pfx证书,tomcat配置https
  8. java list增改查_Java编程通过list接口实现数据的增删改查代码示例
  9. html定义页脚有什么用,HTML5中footer标签的用法你知道吗?,HTML5中的footer标签是什么意思?...
  10. linux之安装Apache服务