RocketMQ之基础概念
1. 设计理念
RocketMQ设计基于主题的发布与订阅模式,其核心功能包括消息发送,消息存储(Broker),消息消费。
1. NameServer设计简单,摒弃了使用Zookeeper充当信息管理的“注册中心”
2. 高效的IO存储机制
3. 容忍存在设计缺陷
2. 设计目标
1. 架构模式
采用发布订阅模式
2. 顺序消息
消费者按照消息到达消费服务器的顺序进行消费
3. 消息过滤
消费者可以对同一主题下的消息按照规则只消费自己感兴趣的消息
4. 消息存储
消息堆积能力和消息存储性能
5. 消息高可用性
1. Broker正常关机
2. Broker异常Crash
3. OS Crash
4. 机器断电,但是能立即恢复供电情况
5. 机器无法开机
6. 磁盘设备损坏
1-4 同步刷盘机制下可以确保不丢失消息,异步刷盘机制下,会丢失少量消息。
5-6 单点故障,会丢失全部消息;如果开启了异步复制机制,只丢失少量消息
6. 消息到达低延迟
以长轮询模式实现准实时的消息推送模式
7. 确保消息必须被消费一次
消息消费确认机制来确保消息至少被消费一次
8. 回溯消息
消息者已经消费成功,由于业务要求需要重新消费消息,RocketMQ支持按时间回溯消息,时间维度可精确到毫秒,可以向前或向后回溯。
9. 消息堆积
消息存储使用磁盘文件,并且在物理布局上为多个大小相等的文件组成逻辑文件组,可以无限循环使用。并且提供了过期机制,默认保留3天。
10. 定时消息
消息发送到Broker后,不能被消费者立即消费,要到特定的时间点或者等待特定的时间后才能被消费
11. 消息重试机制
消息在消费时,如果发送异常,消息中间件需要支持消息重新投递

浙公网安备 33010602011771号