美文网首页
RocketMQ核心概念

RocketMQ核心概念

作者: 陈晨_软件五千言 | 来源:发表于2019-04-13 11:23 被阅读0次

本文英文原文来自RocketMQ官方核心概念文档

image.png

根据上面的模型,我们能够深入消息系统设计中的某些主题:

  • 并行消费
  • 消费热点问题
  • 消费负载均衡
  • 消息路由
  • 多重连接
  • 金丝雀部署(灰度,A/B)

生产者

生产者将业务系统生成的消息发送至代理服务。RocketMQ提供了多种模式来发送:异步(asynchronous),同步(synchronous)和单向(one-way)。

生产者群组

相同角色的生产者会被分为一组。同一生产者组的不同生产者实例会被代理服务联系起来,用于提交或者回滚事务,防止原始生产者在事务之后崩溃。
警告:考虑到生产者在发送消息时是有十分重要的,每个生产者群组中只能够有一个实例启用,防止没有必要的生产者实例初始化。

消费者

消费者从代理服务中拉取消息,投递给应用程序消耗。在用户应用程序使用中,提供有两种消费方式:

拉取消费

拉取消费者从代理服务中拉取消息。一旦拉取完批量消息,应用程序就会启动消费进程。

推送消费

推送消费者,综合了消息拉取,消费进程,并在其中维护其他工序,对终端用户开放回调接口,并且在消息到达时被调用。

消费者群组

类似之前提到的生产者群组,相同角色的消费者也会被分组起来称为消费者群组
消费者群组是一个很好的方式来达到负载均衡,故障恢复,使得我们能够更简单的进行消息消费。
警告:消费群组中的消费实例必须订阅完全相同的主题。

主题

主题是用于提供生产者投递消息和消费者拉取消息。主题和生产者消费者之间的关系是非常自由的。一个主题可以有零个,一个或者多个生产者发送消息;反过来,一个生产者也可以给不同的主题发送消息。从消费者的角度,一个主题能够被零个,一个或者多个消费者群组订阅。在一个消费者群组中,也可以订阅一个或多个主题,但是要保证群组内的实例的订阅是一致的。

消息

消息就是投递的信息。消息必须对应到主题,可以理解为当你写信时的收件人地址。消息也能够包含一个可选的标签(tag)或者额外的键值对信息。例如,你可以给消息额外设置一个业务主键,开发过程中就可以在代理服务去查找消息从而诊断问题。

消息队列

主题会分段成一个或多个子主题,“消息队列”。

标签

标签也可以称为子主题,提供给用户额外的扩展性。从同一业务模块发出的不同目的的消息可以使用相同的主题和不同的标签。标签能够使你的代码保持清晰,还能够使得RocketMQ提供的查询系统更加有效。

代理服务

代理服务是RocketMQ的主要组件。它会接收生产者发送的消息,存储并且处理消费者的拉取请求。它也存储了消息相关的元数据信息,包括消费者群组,消费矜持偏移,以及主题/队列信息。

命名服务

命名服务提供了信息的路由转发能力。生产者和消费者客户端可以查找主题,并且找到对应的代理服务列表。

消息模型

  • 集群
  • 广播

消息顺序

当你使用 DefaultMQPushConsumer 时,你可以决定使用顺序或者并行来消费消息。

  • 顺序
    顺序消费意味着消息会以生产者发送到每个消息队列的顺序来进行消费。如果你的场景要求全局顺序严格控制,那主题中只能只用一个消息队列。
    警告:如果消费顺序是特定的,最大的消息消费并行数量就是消费者群组订阅的消息队列的数量。
  • 并行
    当并行消费消息时,消息消费的并行数量只会受到消费客户端的线程池的大小限制。
    警告:在并行模式中,无法保证消息顺序。

相关文章

  • RocketMQ核心概念

    本文英文原文来自RocketMQ官方核心概念文档 根据上面的模型,我们能够深入消息系统设计中的某些主题: 并行消费...

  • RocketMQ核心概念

    基本概念 Broker Broker相当于一个RocketMQ存储实例,一般情况下一台机器上部署一个Broker。...

  • RocketMQ集群消费时队列分配

    RocketMQ集群消费时队列分配 何时需要消息队列 RocketMQ的核心概念 详情见于文档 PushConsu...

  • 一、RocketMQ核心概念

    核心概念 根据上述模型,我们可以深入探讨有关消息传递系统设计的一些主题: 消费者并发 消费者热点问题 消费者负载平...

  • RocketMQ 介绍及核心概念

    RocketMQ 是阿里巴巴开源的分布式消息中间件。 RocketMQ 特点 是一个队列模型的消息中间件,具有高性...

  • RocketMQ架构及核心概念

    ​导读:当接触新技术时,我们要从宏观角度,做个大概的了解,然后再去了解下里面的核心概念。这样的话,当和别人交流起来...

  • rocketMq概念介绍

    rocketMq官网 http://rocketmq.apache.org/ rocketMq逻辑概念介绍 备注:...

  • RocketMQ最佳实践之核心概念

    根据上面的模型,我们可以深入研究一些关于消息系统设计的主题: 消费者并发性 消费者热点问题 消费者负载均衡 消息路...

  • Apache RocketMQ架构及核心概念

    概述 RocketMQ是一个消息与流处理平台,具有低延时、高性能、高可靠、万亿级消息储存以及可扩展性灵活等特性,系...

  • RocketMQ分布式事务消息

    1、RocketMQ事务消息概念 RocketMQ事务消息:RocketMQ 提供分布事务功能,通过 Rocket...

网友评论

      本文标题:RocketMQ核心概念

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