美文网首页
RocketMQ核心概念

RocketMQ核心概念

作者: 美美的苹果核 | 来源:发表于2021-06-24 09:29 被阅读0次

基本概念

Broker

Broker相当于一个RocketMQ存储实例,一般情况下一台机器上部署一个Broker。多个Borker主节点会均分Topic的消息。生产者和消费者都会与Broker建立长连接。

Topic

Topic表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。

Tag

为消息设置的标志,用于同一主题下区分不同类型的消息。它不能控制消息的路由,用于消息真正被某个消费者节点接收后进行业务逻辑区分的标识。

Queue

类似于HashMap中数组的节点,提升并发(多个生产者或消费者)时的读写性能。每个Topic在单个Broker节点都会分为多个Queue。

GID

一类Producer或Consumer,这类Producer或Consumer通常生产或消费同一类消息,GID是分组的标识。广播消费模式下相同分组的每个Consumer实例都接收全量的消息;集群消费模式下,相同分组的每个Consumer实例平均分摊消息。

高可用

RocketMQ高可用架构.png
  • RocketMQ主要包括Broker集群、Producer集群、Consumer集群和 NameServer 集群

NameServer集群

NameServer是专为 RocketMQ 设计的轻量级名称服务,具有简单、可集群横向扩展、无状态,节点之间互不通信等特点。

Broker集群

Broker用于接收生产者发送消息,或者消费者消费消息的请求。一个Broker集群由多组Master/Slave组成,Master可写可读,Slave只可以读,Master将写入的数据同步给Slave。每个Broker节点,在启动时,都会遍历NameServer列表,与每个NameServer建立长连接,注册自己的信息,之后定时上报。

Producer集群

消息的生产者,通过NameServer集群获得Topic的路由信息,包括Topic下面有哪些Queue,这些Queue分布在哪些Broker上等。Producer只会将消息发送到Master节点上,因此只需要与Master节点建立连接。

Consumer集群

消息的消费者,通过NameServer集群获得Topic的路由信息,连接到对应的Broker上消费消息。注意,由于Master和Slave都可以读取消息,因此Consumer会与Master和Slave都建立连接。

客户端负载均衡

生产端

  • 生产者负载均衡实质上是在选择MessageQueue对象;一种是默认策略,从MessageQueue列表中随机选择一个,实现过程是通过自增随机数对列表大小取余获取位置信息,但获得的MessageQueue所在的集群不能是上次的失败集群。另一种是集群超时容忍策略,先随机选择一个MessageQueue,如果因为超时等异常发送失败,会优先选择该broker集群下其他的messeagequeue进行发送;如果没有找到则从之前发送失败broker集群中选择一个MessageQueue进行发送;如果还没有找到则使用默认策略。
  • 普通消息队列选择策略 MQFaultStrategy

消费端

  • 非有序消息有平均分配、平均轮询等方式。
  • 有序消息在拉取消息时会给消息队列加锁,被锁定的队列不参与Rebalance。
  • 当发送和消费参与的队列只有一个,则是全局有序;如果多个队列参与,则为分区有序。
  • 队列分配策略 AllocateMessageQueueStrategy

相关文章

  • 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/pgpbyltx.html