3分钟快速入门RocketMQ(上)


原文:http://www.jianshu.com/p/83d2bdadebaa


96 
冯先生的笔记 
2017.08.06 00:29*  字数 1055  阅读 1337 评论 1

简介

用官方的话来说,RcoketMQ 是一款低延迟、高可靠、可伸缩、易于使用的消息中间件,具有以下特性(ps:对于这些特性描述,大家简单过一眼就即可,深入学习之后自然就明白了):

  1. 支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型
  2. 在一个队列中可靠的先进先出(FIFO)和严格的顺序传递
  3. 支持拉(pull)和推(push)两种消息模式
  4. 单一队列百万消息的堆积能力
  5. 支持多种消息协议,如 JMS、MQTT 等
  6. 分布式高可用的部署架构,满足至少一次消息传递语义
  7. 提供 docker 镜像用于隔离测试和云集群部署
  8. 提供配置、指标和监控等功能丰富的 Dashboard

专业术语

  • Producer
    也就是常说的生产者,生产者的作用就是将消息发送到 MQ,生产者本身既可以产生消息,如读取文本信息,将读取的文本信息发送到 MQ。也可以对外提供接口,由外部应用来调用接口,生产者将收到的请求体内容发送到 MQ。拥有相同 Producer Group 的生产者称为一个生产者集群。

  • Producer Group
    生产者组,简单来说发送同一类消息的多个生产者就是一个生产者组。

  • Consumer
    也就是常说的消费者,接收 MQ 消息的应用程序就是一个消费者。拥有相同 Consumer Group 的消费者称为一个消费者集群。

  • Consumer Group
    消费者组,和生产者类似,消费同一类消息的多个消费者组成一个消费者组。

  • Topic
    主题是对消息的逻辑分类,比如说有订单类相关的消息,也有库存类相关的消息,那么就需要进行分类,一个是订单 Topic 专门用来存放订单相关的消息,一个是库存 Topic 专门用来存放库存相关的消息。

  • Tag
    标签可以被认为是对主题的进一步细化,可以理解为二级分类,一般在相同业务模块中通过引入标签来标记不同用途,同时消费者也可以根据不同的标签进行消息的过滤。

  • Broker
    Broker 是 RocketMQ 系统的主要角色,就是前面一直说的 MQ。Broker 接收来自生产者的消息,储存以及为消费者拉取消息的请求做好准备。

  • Name Server
    Name Server 提供轻量级的服务发现和路由信息,每个 NameServer 记录完整的路由信息,提供等效的读写服务,并支持快速存储扩展。

逻辑架构

图1-RocketMQ 架构

由这张图可以看到有四个集群,分别是 Name Server 集群、Broker 集群、Producer 集群和 Consumer 集群。

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

生产者与 Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从 Name Server 获取 Topic 路由信息,并向提供 Topic 服务的 Broker Master 建立长连接,且定时向 Broker Master 发送心跳。

消费者也是与 Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从 Name Server 获取 Topic 路由信息。但是消费者与生产者不同,生产者只能将消息发送到 Broker master,消费者则可以同时和提供 Topic 服务的 Broker Master 和 Broker Slave 建立长连接,既可以从 Broker Master 订阅消息,也可以从 Broker Slave 订阅消息。

更多技术干货,可以扫描下面的二维码,关注微信公众号:冯先生的笔记


冯先生的笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值