美文网首页rocketmq
3分钟快速入门RocketMQ(上)

3分钟快速入门RocketMQ(上)

作者: 云原生实战 | 来源:发表于2017-08-06 00:29 被阅读6682次

简介

用官方的话来说,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 订阅消息。

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


冯先生的笔记

相关文章

  • RocketMQ:消息发送与消费

    在此之前,我们已经介绍过《RocketMQ:快速入门》和《RocketMQ:搭建集群》。现在我们已经准备好Rock...

  • 2、RocketMQ基础-RocketMQ快速入门

    RocketMQ快速入门 RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,在阿里内部,Roc...

  • RocketMQ快速入门

    本章简单讲讲RocketMQ的入门操作,消息发送和消息接收。 引入 rocketmq-client 编写Produ...

  • RocketMQ实战 - 快速入门

    RocketMQ 是阿里开源的(目前已捐赠给Apache了)一款高性能、高吞吐量的分布式消息中间件。 参考资料 十...

  • RocketMQ:搭建集群

    在上一篇《RocketMQ:快速入门》之后,今天说一说如何搭建RocketMQ集群。首先看一下集群架构图: 1. ...

  • 3分钟快速入门RocketMQ(上)

    简介 用官方的话来说,RcoketMQ 是一款低延迟、高可靠、可伸缩、易于使用的消息中间件,具有以下特性(ps:对...

  • Jupyter Notebook 快速入门

    Jupyter Notebook 快速入门(上)Jupyter Notebook 快速入门(下)

  • 三、RocketMQ快速开始

    快速开始 本快速入门指南是在本地计算机上设置RocketMQ消息传递系统以发送和接收消息的详细说明。 环境要求(版...

  • rocketmq总目录

    实战 rocketmq最简单的入门demo rocketmq的常用概念,接口和方法 rocketmq的正式部署 高...

  • RocketMQ入门

    RocketMQ入门 1. RocketMQ简介 RocketMQ是阿里开源的消息中间件,它是纯java开发,具有...

网友评论

    本文标题:3分钟快速入门RocketMQ(上)

    本文链接:https://www.haomeiwen.com/subject/kcfulxtx.html