4. 总结
在优化之前,1000w条消息需要耗费240MB内存大小,每条消息平均占用内存大小AES为240*1024*1024/10000000byte = 25.16byte,而使用新算法之后,我们可以轻松将AES降低到1byte以下,要实现0.163byte(即1.304bit)也不是一件难事,实现了巨大的优化,并且已经逼近了理论下限1bit。
使用这个优化,Pulsar可以轻松承载千亿级延迟消息规模,如保守估计AES为0.5byte,那么1千亿消息配合100的batch大小,仅需消耗内存
0.5*100000000000/1024/1024/1024/100GB=0.46GB
当然万亿级别的延迟消息也能承受,内存压力分摊到集群里的不同broker上面,压力也不大。
希望用户看完这篇文章之后,能根据自己的实际应用场景,让TimeBucket算法充分发挥其性能,降低内存资源的占用,助力业务的成功。
Last updated
Was this helpful?

