【无标题】

MQ对比


存储结构
kafka:写入时按topic写入对应的partion,容易横向扩展
partion: 每个topic有单独的partion,包含三个属性 offset messageSize data,这样设计区别于下面两种MQ。支持高可吞吐和可扩展,(不同topic读写不同文件)
segement: 将partion分段
index:segement的索引文件,加快检索速度,没有像rocketmq为每条消息建立索引。而是稀疏索引,减少空间。所以不支持rocketmq的消息id精确查询,但是如果生产者指定消息key,kafka也会额外维护hash索引,实现按key检索

rocketMq:所有topic写入都是按顺序写入commitLog
commitlog:顺序写
consumequeue:每个topic对应一个消费队列,记录消息在commitLog的实际位置。消费这订阅数据 不需要遍历整个commitlog,只需要根据偏移量从consumequeue文件查出在commitlog的偏移量
index:hash索引,为每个消息创建,结构 数组+链表
固定延迟队列

qmq:
messageLog:subject 的消息合并在一起,减少 parition 数量,单一集群可以支撑更多的 subject,采取和rocketmq一样的设计方式,携程业务痛点,topic很多
consumeLog:类似rocketmq的consumequeue,topic的消息队列
pullLog:解耦partion和consumer,解决kafka的静态绑定的缺点
使用双重时间轮支持任意精度延迟

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值