网站为什么做优化ppt,蚌埠网站建设中心,商城网站建设公司哪家好,宁波装修公司RocketMq是阿里出品#xff08;基于MetaQ#xff09;的开源中间件#xff0c;已捐赠给Apache基金会并成为Apache的顶级项目。基于java语言实现#xff0c;十万级数据吞吐量#xff0c;ms级处理速度#xff0c;分布式架构#xff0c;功能强大#xff0c;扩展性强。
官方…RocketMq是阿里出品基于MetaQ的开源中间件已捐赠给Apache基金会并成为Apache的顶级项目。基于java语言实现十万级数据吞吐量ms级处理速度分布式架构功能强大扩展性强。
官方文档
Linux 安装 RocketMq-CSDN博客
Springboot 集成 RocketMq入门-CSDN博客 1.定义
主题是 RocketMQ 中消息传输和存储的顶层容器用于标识同一类业务逻辑的消息。 主题的作用主要如下
1.1 定义数据的分类隔离
RocketMQ 建议将不同业务类型的数据拆分到不同的主题中管理通过主题实现存储的隔离性和订阅隔离性。
1.2 定义数据的身份和权限
RocketMQ 的消息本身是匿名无身份的同一分类的消息使用相同的主题来做身份识别和权限关理。 2.模型关系 主题是 RocketMQ 的顶层存储所有消息资源的定义都在主题内部完成但主题是一个逻辑概念并不是实际的消息容器。
主题内部由多个队列组成消息的存储和水平扩展能力最终是由队列实现的并且针对主题的所有约束和属性设置最终也是通过主题内部的队列来实现。 3.内部属性
3.1 主题名称
定义主题的名称用于标识主题主题名称集群内全局唯一。 3.2 队列列表
定义队列作为主题的组成单元是消息存储的实际容器一个主题内包含一个或多个队列消息实际存储在主题的各队列内。
写队列发送消息时根据写队列数量返回路由信息。
读队列消费时按照读队列的个数返回路由信息。 3.3 消息类型
定义主题所支持的消息类型。 Normal普通消息。 FIFO顺序消息。 Delay定时/延时消息。 Transaction事务消息. 约束RocketMQ 从5.0版本开始支持强制校验消息类型即每个主题只允许发送一种消息类型的消息这样可以更好的运维和管理生产系统避免混乱。为保证向下兼容4.x版本行为强制校验功能默认关闭推荐通过服务端参数 enableTopicMessageTypeCheck 开启校验。 4.主题的类型 普通主题这里的topic是用户创建主题。
重试主题这里的topic是消息发送失败时候系统为之创建的主题。
死信主题这里的topic类似垃圾箱无法从中生产或者消费消息。
系统主题这里的topic是Brocker启动后就自动生成的主题。 5.生产中使用建议
5.1 关闭自动创建主题的功能
主题属于顶层资源和容器拥有独立的权限管理、可观测性指标采集和监控等能力创建和管理主题会占用一定的系统资源。因此生产环境需要严格管理主题资源请勿随意进行增、删、改、查操作。 5.2 手动控制台创建 5.2.1 队列 当读队列数量 写队列数量业务可以正常进行。 当读队列数量 写队列数量效果最佳。 如果想调整读写队列的数量首先减少写队列数量再减少读队列的数量确保已读完。 假设创建了4个写队列2个读队列则有两个队列的消息无法被消费反之则存在两个空闲的读队列。 RocketMq不直接将读写队列设置相同直接目的是为了安全的收缩队列数量间接的为了安全的扩容。 5.2.2 perm 6读写状态当前队列允许读取消息和写入消息。 4只读状态当前队列只允许读取消息不允许写入消息。 2只写状态当前队列只允许写入消息不允许读取消息。 0不可读写状态当前队列不允许读取消息和写入消息。 5.3 单一主题只收发一种类型消息
主题的设计原则为通过主题隔离业务不同业务逻辑的消息建议使用不同的主题。同一业务逻辑消息的类型都相同因此对于指定主题应该只收发同一种类型的消息。