(一)RocketMQ订阅与发布
2023-04-18 13:12:01 时间
RocketMQ的组成
- Producer:生产消息(生产者)
- Broker:存储消息(服务器)
- Consumer:消费消息(消费者)
RocketMQ的消息的订阅与发布
订阅与发布时指某个生产者向某个Topic发送消息,消息的订阅是指某个消费者关注了某个topic中带有某些tag的消息,进而从该topic消费数据。
实现的前提:
消息的集合Topic
Topic是订阅主题,RocketMQ中有多个Topic,但每一条消息只能属于一个Topic,所以Topic是消息订阅的基本单位,topic中每一条消息的id都是唯一的。
标签(tag)
为消息设置的标志,用于同一topoc下区分不同类型的消息。来自同一业务单元的消息,可以根据不同业务目的在同一主题下设置不同标签,也可以根据不同的tag,编写不同的业务逻辑。
Broker Server
负责接收生产者消息并对其进行存储以及将消息下发至订阅Topic对应的消费者。
订阅与发布流程
消息顺序
一类消息在消费时需要保持生产的顺序才有意义(订单创建、订单支付、订单完成),同时订单时可以保持并行消费,RocketMQ可以保持严格的消息有序。
- 全局顺序:对于指定的一个 Topic,所有消息按照严格的先入先出(FIFO)的顺序进行发布和消费。 适用场景:性能要求不高,所有的消息严格按照 FIFO 原则进行消息发布和消费的场景
- 对于指定的一个 Topic,所有消息根据 sharding key 进行区块分区。 同一个分区内的消息按照严格的 FIFO 顺序进行发布和消费。 Sharding key 是顺序消息中用来区分不同分区的关键字段,和普通消息的 Key 是完全不同的概念。 适用场景:性能要求高,以 sharding key 作为分区字段,在同一个区块中严格的按照 FIFO 原则进行消息发布和消费的场景。
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击