RocketMQ基本概念

一、生产者

  生产者发送业务系统产生的消息给broker。RocketMQ提供了多种发送方式:同步的、异步的、单向的。

1.1 生产者组

  具有相同角色的生产者被分到一组。假如原始的生产者在事务后崩溃,broker会联系 同一生产者组中的不同生产者实例,继续提交或回滚事务。

二、消费者

  一个消费者从broker拉取信息,并将信息返还给应用。为了我们应用的正确性,提供了两种消费者类型:

  拉式消费者:拉式消费者从broker拉取消息,一旦一批消息被拉取,用户应用系统将发起消费过程。

  推式消费者:推式消费者,从另一方面讲,囊括了消息的拉取、消费过程,并保持了内部的其他工作,留下了一个回调 接口给终端用户去实现,实现在消息到达时要执行的内容。

2.1 消费者组

  具有相同角色的消费者被组在一起,称为消费者组。它是一个伟大的概念,它完成了负载均衡和容错的目标。 就消费消息而言,它是非常容易的。

一个消费组中的消费者实例必须有确定的相同的订阅topic。

三、Topic(主题)

  Topic是一个消息的目录,在这个目录中,生产者传送消息,消费者拉取消息。Topic与生产者和消费者之间的关系非常的宽松。 明确的,一个Topic可以有0个,1个或多个生产者向它发送消息。相反的,一个生产者可以发送不同Topic的消息。 在消费者方面,一个Topic可以被0个,1个或多个消费者组订阅。相似的,一个消费者组可以订阅1个或多个Topic,只要组内的消费者实例 保持订阅的一致性。

四、Message(消息)

  消息是被传递的信息。一个消息必须有一个Topic,它可以理解为信件上的地址。一个消息也可以有一个可选的tag,和额外的key-value对。 例如:你可以设置业务中的键到你的消息中,在broker服务中查找消息,以便在开发期间诊断问题。

五、消息队列

  Topic被分割成一个或多个消息队列。队列分为3中角色:异步主、同步主、从。如果你不能容忍消息丢失,我们建议你部署同步主,并加一个从队列。 如果你容忍丢失,但你希望队列总是可用,你可以部署异步主和从队列。如果你想最简单,你只需要一个异步主,不需要从队列。 消息保存磁盘的方式也有两种,推荐使用的是异步保存,同步保存是昂贵的并会导致性能损失,如果你想要可靠性,我们推荐你使用同步主+从的方式。

六、Tag(标签)

  标签,用另外一个词来说,就是子主题,为用户提供额外的灵活性。具有相同Topic的消息可以有不同的tag。

七、Broker(队列)

  Broker是RocketMQ的一个主要组件,它接收生产者发送的消息,存储它们并准备处理消费者的拉取请求。它也存储消息相关的元数据, 包括消费组,消费成功的偏移量,主题、队列的信息。

八、名称服务

  名称服务主要提供路由信息。生产者/消费者客户端寻找topic,并找到通信的队列列表。

九、消息的顺序

  当DefaultMQPushConsumer被使用,你就要决定消费消息时,是顺序消费还是同时消费。

  • 顺序消费

  顺序消费消息的意思是 消息将按照生产者发送到队列时的顺序被消费掉。如果你被强制要求使用全局的顺序,你要确保你的topic只有一个消息队列。

如果指定顺序消费,消息被同时消费的数量就是订阅这个topic的消费组的数量。

  • 同时消费

  当同时消费消息时,消息同时消费的最大数量取决于消费客户端指定的线程池的大小。

RocketMQ基本概念的更多相关文章

  1. RocketMQ基本概念及原理介绍

    基本概念 ProducerGroup 通常具有同样属性(处理的消息种类-topic.以及消息处理逻辑流程—分布式多个客户端)的一些producer可以归为同一个group.在事务消息机制中,如果某条发 ...

  2. RocketMQ基础概念剖析,并分析一下Producer的底层源码

    由于篇幅原因,本次的源码分析只限于Producer侧的发送消息的核心逻辑,我会通过流程图.代码注释.文字讲解的方式来对源码进行解释,后续应该会专门开几篇文章来做源码分析. 这篇博客聊聊关于Rocket ...

  3. rocketMq概念介绍

    rocketMq官网 http://rocketmq.apache.org/ rocketMq逻辑概念介绍 rocketMq逻辑图 备注:    改图片分享自李占卫的网上家园 说明: 在rocketM ...

  4. 入门rocketmq从浅到深

    目录 一.引言 二.介绍 三.Rocketmq关键概念 1.主题与标签 2.发送与订阅群组 3.Broker与NameServer 4.广播消费与集群消费 5.消息队列 6.集群方式 7.顺序消息 8 ...

  5. SpringBoot集成RocketMQ

    实战,用案例来说话 前面已经说了JMS和RocketMQ一些概念和安装,下面使用SpringBoot来亲身操作一下. 生产者的操作 SpringBoot项目创建完成,引入依赖是第一步: <dep ...

  6. 「查缺补漏」巩固你的RocketMQ知识体系

    Windows安装部署 下载 地址:[https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.5.2/rocketmq-all-4.5.2-bin- ...

  7. spring-boot-route(十五)整合RocketMQ

    RocketMQ简介 RocketMQ是阿里巴巴开源的消息中间件.目前已经贡献给Apache软件基金会,成为Apache的顶级项目. rocketMQ基本概念 1. Producer Group 生产 ...

  8. 从RocketMQ的Broker源码层面验证一下这两个点

    本篇博客会从源码层面,验证在RocketMQ基础概念剖析,并分析一下Producer的底层源码中提到的结论,分别是: Broker在启动时,会将自己注册到所有的NameServer上 Broker在启 ...

  9. RocketMQ Consumer 启动时都干了些啥?

    可能我们对 RocketMQ 的消费者认知乍一想很简单,就是一个拿来消费消息的客户端而已,你只需要指定对应的 Topic 和 ConsumerGroup,剩下的就是只需要: 接收消息 处理消息 就完事 ...

随机推荐

  1. 学习 Vim —— Vimtutor 总结笔记

    Lesson 2 2.1-2.3 删除 [dw] 删除从光标开始处至下一词开始前的部分,光标停在下一词的词首. [de] 删除从光标开始处至词尾的部分. [d$] 删除从光标开始处至行末的部分. 2. ...

  2. weblogic10.3 启动报错 Unrecognized option: -jrockit Error: Could not create the Java Virtual Machine

    今天在使用weblogic10.3+jdk7创建domain的时候,建好domain后启动报如下错误信息: Unrecognized option: -jrockitError: Could not ...

  3. JavaScript 特效之四大家族(offset/scroll/client/event)

      三大系列:offset.scroll.client 事件对象:event(事件被触动时,鼠标和键盘的状态)(通过属性控制)   三大系列都是以DOM元素节点的属性形式存在的. 类比访问关系,也是以 ...

  4. (80)Wangdao.com第十六天_JavaScript Object 对象的相关方法

    Object 对象的相关方法 Object.getPrototypeOf() 返回参数对象的原型. 这是获取某对象的原型对象的标准方法. var F = function () {}; var f = ...

  5. mysql字符集校对

    常用的两种 utf8_general_ci 按照普通的字母顺序,而且不区分大小写(比如:a B c D)utf8_bin 按照二进制排序(比如:A排在a前面,B D a c) ci是 case ins ...

  6. Android 一个日历控件的实现代码

    转载  2017-05-19   作者:Othershe   我要评论 本篇文章主要介绍了Android 一个日历控件的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看 ...

  7. SourceTree安装跳过登录

    安装 SourceTree 时,需要使用atlassian授权,因为各种原因无法完成授权,现提供跳过 atlassian账号 授权方法. 安装之后,转到用户本地文件夹下的 SourceTree 目录, ...

  8. ALM 中查看某个 test 的更改 history 历史

    ALM 中要查看某个 test 更改历史, 需要下面两个表: AUDIT_LOG and AUDIT_PROPERTIES ------- Get Test modification history ...

  9. 基于hortonworks的大数据集群环境部署流水

    一.ambari及HDP安装文件下载地址: 1.系统 操作系统:CentOS7 2.软件 本次安装采用最新版本: ambari-2.7.0.0 hdp-3.0.0.0 详细信息及下载地址如下: Amb ...

  10. mysql新特性

    5.7新特性 sys库 document store X protocol json支持 空间数据 虚拟列 query rewrite plugin 表空间传输 innodb undo表空间 表空间管 ...