RocketMQ的设计理念和目标

一、设计理念:
RocketMQ设计基于主题的发布与订阅模式,其核心功能包括消息发送、消息存储(broker)、消息消费,整体设计追求简单与性能统一,主要体现在以下三个方面。

1.1、NameServer设计,摒弃了业界常用的Zookeper充当注册中心,使用NameServer实现元数据的管理(Topic)路由信息等,因为topic路由信息无需在集群之间保持强一致性,最终追求一致性,并且能忍受分钟级不一致,RocketMQ的NameServer的集群之间互不通信。

1.2、高效的IO存储机制。将消息的存储文件设计成文件租的概念、组内单个文件大小固定、所有主题消息存储基于顺序存储,还引入消息队列文件和索引文件。

1.3、只保证消息被消费者消费,设计上允许消息被重复消费

二、架构模式:

2.1、采用发布订阅模式,基本组件有、消息发送者、消息服务器(消息存储,broker)、消息消费、路由发现

2.2、顺序消费:消息消费顺序同存储到队列的顺序一致。

2.3、消息过滤:支持在服务端与消费端的消息过滤机制

2.3.1:消息在broker端过滤,只将消费者感兴趣的消息发送给消费者

2.3.2:在消费消息端过滤:完全由消费者自定义,但是会产生大量的消息无用的消息。

2.4:、消息存储;消息的核心实现是消息的存储,引入了内存映射机制,所有主题的消息顺序存储在同一个文件中,为了避免消息无限的存储在服务器中,引入了消息文件过期机制与文件存储空间报警机制

2.5、消息到达低延迟:在不发生消息的堆积时,以长轮模式实现准实时的消息推送模式

2.6、确保消息被消费一次:通过消息确认机制(ACK)来确保消息最少被消费一次,但是rocketMQ无法保证消息只被消费一次,有重复消费的可能。

2.7、回溯消息:已经被消费的消息,可以按照时间回溯消息,时间维度可精确到毫秒,可以向前或者向后回溯

2.8、消息堆积:RocketMQ使用磁盘文件(内存映射机制),并在物理布局上为多个大小相等的文件组成逻辑文件组,可以无限循环使用,并不是永久保留在消息服务器端,而是提供了过期机制,一般默认3天

2.9、定时消息:RocketMQ不支持任意进度的定时消息,只支持特定的延迟级别

2.10、消息重试机制:在消息进行消费时,发生异常,RocketMQ支持消息重试机制。

相关推荐

  1. RocketMQ设计理念目标

    2024-04-22 03:08:03       36 阅读
  2. RabbitMQ RocketMQ 区别

    2024-04-22 03:08:03       24 阅读
  3. MVC设计理念

    2024-04-22 03:08:03       55 阅读
  4. Docker创建RocketMQRocketMQ控制台

    2024-04-22 03:08:03       62 阅读
  5. RocketMQ监控管理工具有哪些❓

    2024-04-22 03:08:03       62 阅读
  6. 查看 RocketMQ重试队列死信队列

    2024-04-22 03:08:03       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 03:08:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 03:08:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 03:08:03       82 阅读
  4. Python语言-面向对象

    2024-04-22 03:08:03       91 阅读

热门阅读

  1. 数字滤波器的设计

    2024-04-22 03:08:03       32 阅读
  2. TRS: Transformers for Remote Sensing Scene Classification

    2024-04-22 03:08:03       32 阅读
  3. 【面经】4月9日 腾讯/csig/腾讯云/一面/1h30m

    2024-04-22 03:08:03       31 阅读
  4. LeetCode 3.无重复字符发最长字串

    2024-04-22 03:08:03       38 阅读
  5. 提高写作效率:ChatGPT写作攻略

    2024-04-22 03:08:03       39 阅读
  6. 修改Ubuntu的镜像源为清华镜像源

    2024-04-22 03:08:03       33 阅读
  7. lv_table

    2024-04-22 03:08:03       31 阅读
  8. 关于UAC标准音频数据传输端点的最大包长问题

    2024-04-22 03:08:03       36 阅读