1.nameServer vs zk, 比zk简单,性能比较高,几十rocketmq的大脑
高效,I/O存储,文件顺序读写,内存映射机制
容忍设计缺陷,MQ中消息只消费一次(幂等性问题),rocketmq自身不确保,交给客户端去做
2.nameserver 和broker之间保持着长连接,,默认是128秒
3.设计目标
顺序消息
消息过滤:(客户端实现,增加带宽,它可以服务端实现)
消息存储,MQ的核心就是,(除了kafka,基于内存),从两个维度:消息堆积(顺序写在一个文件,存储空间预警
机制,过期文件删除机制),存储性能
4.消息的高可用
rocketmq服务器关机了,断电了,不丢失。(同步刷盘机制不丢失,异步刷盘会少量丢失)
rocketmq服务器(cpu,内存,主板,磁盘坏了),属于单点故障,搭建集群,(异步复制机制,丢失很少量的消息
)。引入双主机制,很高的要求了
5.消息消费的低延迟,消费时,长轮训模式,实现准实时的消息推送
6.确保消息必须被消费一次,ACK机制。
7.消息回溯,已经消费完的消息,还可以根据业务的需求,重新消费
8.消息堆积
9.定时消息,消息发送broker之后,不会被立即消费,要等一定的时间才会被消费
10.消息的重试机制,生产,消费
11.生产者分组,发送的时候(多个实例),只允许一个实例发送,概念的东西,标识。
12.tags,标签,2级消息主题(类型)topic是一级
消息中间件 rocketMq 1
最新推荐文章于 2024-07-25 22:41:30 发布