如何评价腾讯开源的消息中间件TubeMQ?

本文对比了腾讯TubeMQ与Kafka、RocketMQ等消息中间件的性能和特性。TubeMQ在设计上缓解了Kafka和RocketMQ的部分瓶颈,如单线程问题和写盘策略,但其可靠性问题使其在高要求场景中不占优势。在压测场景中,TubeMQ在特定配置下表现出优于Kafka的性能。
摘要由CSDN通过智能技术生成

周五晚上无聊,粗粗撸了一遍代码+性能测试文档,随便扯扯吧。主要分为亮点、槽点、瓶颈分析三块,理解有问题的话欢迎大家指出来。

亮点

  • 结构相对清晰,流程简单一目了然

  • 每个分区一个逻辑存储的设计,在一定程度上增大了写盘之前处理的并发数(这点会在瓶颈分析部分)

  • 自建缓存的设计使得写盘相对可控,不会污染pagecache导致写放大

槽点

  • 不可靠。没有落盘就进行ack,在大多数金融级场景里不可接受

  • 相对kafka和RocketMQ作为已有产品,解决的问题不够清晰(详见瓶颈分析)

  • 多副本没开源。。。其实最早看的动力就是想看下这一块

  • 性能测试文档分析有点粗暴,没有对数据结果进行更进一步分析,以及针对已有数据设计更多更有针对性的场景

瓶颈分析

由于某些不可描述的原因,为了避免麻烦,暂时不能详细说解决方案,但是说瓶颈应该没啥问题。由于多副本尚未开源,以下仅讨论存储引擎部分。

背景

分析瓶颈之前,先介绍下各种消息队列存储模型以方便后续分析。

kafka

每一个partition都有日志和索引文件,如下图所示。kafka的瓶颈主要在于,当单机分区数增加或者强制写盘次数增加时,随机写带来的开销。这一点由于机械结构的磁盘需要寻道,会导致表现的特别明显。

 

 

所以kafka的瓶颈主要在于:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值