白话3分钟,快速了解RocketMQ基础,系列包括适用场景,核心以及基本概念。概念
看完如果不了解,分钟欢迎来打我。白话
RocketMQ是一个开源的分布式消息中间件。它是一种 低延迟、高可用、高可靠、高并发 的消息队列系统,用于在分布式系统中进行异步通信。
作为消息中间件,RocketMQ和kafka的「消息模型」上比较相似,都有 生产、存储(消息堆积)、消费 三大部分。
主要区别还是使用场景。
RocketMQ比kafka多了一些业务特性,比如 定时消息、延迟消息、事务消息(RocketMQ和kafka的不是同一个概念)、广播消息、消息轨迹 等,所以我们一般把RocketMQ用在在线业务场景中。
而kafka由于大数据生态完善,在系统间的数据流管道、实时数据处理等场景中依旧占据优势。
当然,RocketMQ 5.x版本进一步强化了自身在 事件、流处理 场景上的结合。不过目前观察,主要还是阿里云自身在做相关生态建设和应用,业界落地上还不算主流。
RocketMQ 4.x基本架构
RocketMQ 4.x版本中,主要分为4个角色:
RocketMQ 5.x 为了更好适应云原生环境下的「存算分离」,在部署架构上做了一个变化。
新增无状态的代理模块Proxy,作为「计算层」,将 Broker 原来的协议适配、权限管理、消息管理等计算功能抽离到了代理模块中。
而Broker 则专注于「存储层」,主要负责消息存储功能。
这样在云环境下可以更好地进行资源调度。
RocketMQ 5.x基本架构
RocketMQ核心概念
前面提到过,消息中间件的逻辑架构上比较相似,都有消息 生产、存储(消息堆积)、消费 三大部分。
就RocketMQ而言,核心概念也是围绕这三个部分展开,7个核心概念:
主题(Topic):RocketMQ 消息传输和存储的分组容器,主题内部由多个队列(MessageQueue)组成。
队列(MessageQueue):RocketMQ 消息传输和存储的实际单元容器,类比于kafka中的分区。
消息(Message):RocketMQ 的最小传输单元。在初始化发送和完成存储后即不可变。
消息消费
消费者分组(ConsumerGroup):RocketMQ 发布订阅模型中定义的独立的消费身份分组,用于统一管理底层运行的多个消费者(Consumer)。
消费者(Consumer):RocketMQ 消费消息的运行实体。消费者必须被指定到某一个消费组中。
订阅关系(Subscription):RocketMQ 发布订阅模型中消息过滤、重试、消费进度的 持久化「规则配置」。消费组通过定义订阅关系控制指定消费组下的消费者如何实现消息过滤、消费重试及消费进度恢复等。
(责任编辑:休闲)
恒信东方(300081.SZ)公布消息:向85名激励对象授予1188万股第二类限制性股票
深圳国际(00152.HK)遭UBS Group AG减持291.65万股 涉资约3681.5万港元
看直播提前解锁后期装备 《霍格沃茨之遗》打破直播平台游戏观看记录