如何评价腾讯开源的分布式队列Phxqueue?
想当初公司分布式队列差点用了phxqueue,最后还是选用了kafka,只能说各有优缺点!
先说下kafka的不足:
1,为保证可靠性,kafka打开同步刷盘,会引起吞吐量急剧下降,ssd写入数据比原始数据大数倍!
2,生产消息打包常常难以进行,因为上下文之间的不同!
3,broker故障时,读写成功率下降严重!
4,数据同步常常需要各节点的返回标志!
微信中间件团队针对kafka同步性能的不足,采用了不同的协议--paxos,优化了同步协议的不足!
phxqueue有哪些特性呢?
1,高可用,分布式,高并发!
2,出队,入队有序进行!
3,采用paxos协议,做同步刷盘,入队数据可靠性强,内部自动实时对账!
4,模块可平行扩展!
5,存储层自动容灾,均衡!同时支持同城多中心部署!
可以说phxqueue类似于kafka,但是在其缺点上进行了极大的优化,性能更优于kafka等传统老牌的消息队列框架!
phxqueue队列的不足:
1,开源时间晚,对比kafka等老牌分布式队列稍显稚嫩!
2,技术文档少,学习资源少!
3,占用磁盘容量很多!
4,多语言支持严重不足!
总的来说,性能上看phxqueue确实有所提高,但是技术文档少,没有可供参考的经验,遇到问题只能靠自己解决,这样的情况还是难以在生产环境广泛使用!
所以虽然公司也算是腾讯系,但最后还是选用了kafka!不过phxqueue还是蛮值得研究的,开源地址如下:https://github.com/Tencent/phxqueue
在学习过程中如果有问题,希望大家不吝留言,我们一块研究!
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有