基础概念

  1. Name Server:Broker 的注册中心,负责 Broker 管理、路由信息管理(消息来了到哪个 Broker)
  2. Broker:RocketMQ 核心,负责接收生产者消息、消息持久化、消息过滤....
  3. Topic:主题,收发消息都要指明主题,生产者的消息往哪里发、消费者到哪里消费消息
  4. Queue:队列,每个 Topic 默认 4 个队列,真实存放消息的地方,有三个属性要关注下
    1. 最大位点/代理者位点:当前队列累计已存放的消息条数
    2. 消费者位点:当前队列累计已消费的消息条数
    3. 差值:代理者位点-消费者位点。0:当前队列没有消息;正数:消息堆积或消费者是广播模式;负数:队列被重置过
  5. Message:消息
    1. 自动生成唯一 ID(但是不可靠,官网说的)
    2. 可以手动指定 key,既然 id 可能不唯一,那就手动设置一个唯一标识
    3. 可以指定消息为延迟消息,配置一个延迟级别,每个级别代表不同延迟时间
  6. Producer:生产者
    1. 可以设置队列数量,默认 4 个
    2. 当发送失败需要重试时,可以更改重试次数,默认 2 次
    3. 需指定发送模式:单向(不管有没有发成功)、同步(等待发送是否成功)、异步(异步等待发送成功状态)
  7. Consumer:消费者
    1. 必须要指定消费者组
    2. pull、push 两种消费方式,pull:消费者主动拉取消息,push:Borker 主动把消息推给消费者
    3. 默认是多线程消费,可以指定为单线程
    4. 两种消费模式:集群模式,可以指定为广播模式
      1. 集群:点对点模式,同组的消费者分摊 Topic 的队列,消息只会被一个消费者消费
      2. 广播:同组的所有消费者都要监听队列,即每个消费者都要消费消息
  8. ConsumerGroup:消费者组,同一个消费者组下的消费者必须订阅同一个 Topic(订阅一致性)
posted @ 2024-07-22 21:50  CyrusHuang  阅读(1)  评论(0编辑  收藏  举报