RocketMQ学习

RocketMQ 是一款 低延迟、高并发、高可用、高可靠的分布式消息中间件。

RocketMQ 架构

在这里插入图片描述

  1. Name Server:注册中心。
  2. Broker:消息中转角色,负责存储消息,转发消息。Broker启动后需要将自己注册到Name Server,随后每隔30s定期向Name Server上报Topic路由信息。分为 Master Broker 和 Slave Broker,两者是一对多关系。
  3. 生产者:与 Name Server 集群中的其中一个节点(随机)建立长链接,定期从 Name Server 读取 Topic 路由信息。向提供 Topic 服务的 Master Broker 建立长链接,且定时向 Master Broker 发送心跳。生产者只能给 Master Broker 发送消息。
  4. 消费者:与 Name Server 集群中的其中一个节点(随机)建立长连接,定期从 Name Server 拉取 Topic 路由信息。向提供 Topic 服务的 Master Broker、Slave Broker 建立长连接,且定时向 Master Broker、Slave Broker 发送心跳。消费者既可以从 Master Broker 订阅消息,也可以从 Slave Broker 订阅消息,订阅规则由 Broker 配置决定。

其他概念:

  1. Topic:消息主题,用于将一类的消息进行归类。
  2. Message:Message是消息的载体。一个 Message 必须指定 Topic。
  3. Tag:Tag可以被认为是对 Topic 进一步细化。可以用Tag来对消息进行过滤。
  4. Group:一类生产者或消费者,这类生产者或消费者有相同的Topic,通常生产或消费同一类消息。

相关知识

  1. RocketMQ订阅规则
    集群消费:同一个Group ID所标识的所有Consumer平均分摊消费消息。
    广播消费:同一个Group ID所标识的所有Consumer都会各自消费某条消息一次。

  2. 获取消息的方式
    (1)push
    概念:RocketMQ主动把消息推送给消费者。底层还是pull,只是RocketMQ封装了长轮询的方式。
    优点:RocketMQ处理了获取消息的细节,使用起来比较简单方便。
    缺点:只能以一定的频率去推送消息,不够灵活。
    (2)pull
    概念:消费者主动获取消息。
    优点:灵活性较大,根据消费者的消费能力去消费消息。
    缺点:使用起来复杂度高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值