Aliware Queue Race 2018
这是阿里中间件性能挑战赛2018的复赛"消息队列存储引擎"的实现
使用的技术和环境
100% 原生Java Api (官方就是这么要求的...)
Maven 管理依赖和构件
运行环境在Linux系统下
赛时的想法
使用mmap的方式读写数据文件
尽可能降低锁的粒度,甚至实现无锁化
鉴于测评程序产生的队列名前缀高度一致,采用了Trie字典树的修改版存储队列信息
每隔一定的间隔或符合一定的条件,会创建索引,并在文件中实现一个类似于链表的机制,遍历寻找索引记录
Benchmark
运行环境:
阿里云天池平台
300GB SSD磁盘
Linux操作系统 Deadline磁盘调度算法
每消息约 50 byte,累计约百万队列,20亿消息
运行成绩:
线上跑分 63w TPS
最高跑分 66w TPS (尝试了一下分bucket对数据进行操作,代码太乱,
2021-12-17 15:30:03
22KB
Java
1