RocketMQ 入门

摘要:
消息也可以设置一个标签,以便消费者可以根据标签过滤消息。7.标签可以被认为是主题的进一步细化。通常,在同一个业务模块中,引入标记来标记具有不同目的的消息。8.经纪人是RocketMQ系统的主要角色。

一、rocketMQ是什么

rocketmq是一款低延迟、高可靠、可伸缩、已使用的消息中间件。具有以下特性:

1、支持发布/订阅、点对点(p2p)消息模型

2、同一个队列中支持先进先出(FIFO)和严格的顺序传递

3、支持拉(pull)和推(push)两种消息模式

4、单一队列百万消息的堆积能力

5、支持多种消息协议,比如: JMS 、MQTT

6、分布式高可用的不是架构,满足至少一次消息传递语义

7、提供docker 镜像用于隔离测试和云集群部署

8、提供配置、指标和监控功能丰富的Dashboard

二、专业术语

1、producer

  生产者、作用是将消息发送到MQ

2、producer group 

  生产者组,多个发送同一类消息的生成者简称为一个生产者组

3、consumer

  消费者、消费MQ上的消息

4、consumer group 

  消费者组,消费同一类型消息的多个consumer简称一个消费者组

5、topic

  是一种消息的逻辑分类,比如:订单相关的消息存储在一个topic中、库存相关的消息存储在同一个topic中

6、message

  是消息的载体,一个message必须指定topic,相当于寄信地址。message还可以设置一个tag 比便于消费者可以基于tag进行过滤消息

7、tag

  标签,可以被认为是对topic的进一步细化,一般在相同业务模块中通过引入标签来标记不同的用途的消息

8、broker

   是rocketMQ的系统主要角色。broker接受生成者的消息,存储以及为消费者拉取消息的请求做好准备

三、rocketMQ 架构

RocketMQ 入门第1张

以上可以看出有4个集群,分别是 nameserver集群、broker集群、producer集群、consumer集群

1、nameserver集群:提供了轻量级的服务和路由,每个nameserver记录完整的路由信息,提供读写服务并且支持快速扩展。

2、broker集群:通过提供轻量级的topic和Queue机制来处理消息存储,同时支持推(push)和拉(pull)模式以及主从结构的容错机制

3、producer:生产者,产生消息的实例,拥有相同的producer Group 和produer 组成一个集群

4、consumer:消费者,接受消息的实例,拥有相同的consumerGroup 和consumer组成一个集群

简单说明一下图中箭头含义,从 Broker 开始,Broker Master1 和 Broker Slave1 是主从结构,它们之间会进行数据同步,即 Date Sync。同时每个 Broker 与
NameServer 集群中的所有节
点建立长连接,定时注册 Topic 信息到所有 NameServer 中。

Producer 与 NameServer 集群中的其中一个节点(随机选择)建立长连接,定期从 NameServer 获取 Topic 路由信息,并向提供 Topic 服务的 Broker Master 建立长连接,

且定时向 Broker 发送心跳。Producer 只能将消息发送到 Broker master,但是 Consumer 则不一样,它同时和提供 Topic 服务的 Master 和 Slave
建立长连接,既可以从 Broker Master 订阅消息,也可以从 Broker Slave 订阅消息。



免责声明:文章转载自《RocketMQ 入门》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle连接字符串总结(转)Vue 打包成APP后首屏出现白屏问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CEF3开发者系列之进程间消息传递

在使用CEF3作为框架开发过程中,实现WebSockets、XMLHttpRequest、JS与本地客户端交互等功能时,需要在渲染(Render)进程和浏览(Browser)进程中传递消息。CEF3在这个方面进行了很好的封装,普通用户只需要了解几个接口和函数就可以实现进程间消息传递。根据个人的开发经验和理解,以cefclient为例子总结下CEF3消息的传...

ROS知识(5)----消息与服务的示例

ROS中已经定义了较多的标准类型的消息,你可以用在这些标准类型的消息上再自定义自己的消息类型。这个在复杂数据传输很有用,例如节点和服务器进行交互时,就可能用到传输多个参数到服务器,并返回相应的结果。为了保证例子的完整,将详述每一步。 基本思路和创建talker和listener的例子类似,步骤如下: 建立工作空间workspace(类似于vs下的解决方案,...

中移4G模块-ML302-OpenCpu开发-(MQTT连接阿里云-接收和发送数据)

B站:https://space.bilibili.com/309103931 中移4G模块-ML302专栏:https://blog.csdn.net/qq_33259323/category_10453372.html 中移4G模块-ML302文集:https://www.bilibili.com/read/readlist/rl328642 1.中移...

微信公众平台开发教程(二) 基本原理及消息接口

微信公众平台开发教程(二) 基本原理及消息接口 一、基本原理 在开始做之前,大家可能对这个很感兴趣,但是又比较茫然。是不是很复杂?很难学啊? 其实恰恰相反,很简单。为了打消大家的顾虑,先简单介绍了微信公众平台的基本原理。 微信服务器就相当于一个转发服务器,终端(手机、Pad等)发起请求至微信服务器,微信服务器,然后将请求转发给自定义服务(这就里就是我们的具...

围观微博网友发起的美胸比赛学习爬取微博评论内容

网友:看看胸女:滚 网友:美胸比赛女:[图片消息] ​​​​ 继上次知乎话题 拥有一副好身材是怎样的体验? 解析了知乎回答内容之后,这次我们来解析一下微博内容,以微博网友发起的美胸大赛为例: https://m.weibo.cn/detail/4367970740108457 https://m.weibo.cn/detail/434802252095...

小米公布2017二季度手机出货量:环比增长70%

新浪手机讯 7月7日下午消息,刚刚小米公司创始人雷军公布2017年第二季度手机出货量。根据数据显示,第二季度小米手机出货量2316万台,环比增长70%,创造了该品牌季度手机出货量的新纪录。   这一消息源自雷军在手机业务誓师大会上的发言。事实上此前就有相关业内人士给出过类似的推测,在6月中旬有消息称:小米二季度出货量会达到2300万台,预计三季度的出货量在2...