关注Java领域相关技术 记录有趣的事情

RingBuffer

Disruptor是什么

了解Disruptor之前需要知道的前置知识 CPU Cache 关于CPU Cache,在这里将使用Lgor Ostrovsky的文章 Gallery of Processor Cache Effects来进行介绍。 为什么需要CPU Cache 随着工艺的提升最近几十年CPU的频率不断提升,而受制于制造工艺和成本限制,目前计算机的内存主要是DRAM并且DRAM的访问速度并没有质的突破。因此CPU的处理速度和内存的访问速度差距越来越大,甚至可以达到上万倍。这种情况下传统的CPU通过FSB直连内存的方式显然就会因为内存访问的等待,导致计算资源大量闲置,降低了CPU整体吞吐量。同时又由于内存数据…
US-B.Ralph
4 years ago

High performance alternative to bounded queues for exchanging data between concurrent threads

译者说: LMAX为了打造成全世界最快的交易所,寻求一种低延迟,高吞吐的内存队列。在分析了现有队列的实现方案(在性能测试中发现竟然与I/O操作处于同样的数量级)后发现均无法满足团队需求,于是自研了Disruptor:基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年Martin Thompson专门撰写长文介绍了Disruptor的使命、原理、效果,本文为该文章的原文及译文,同时下方还列出了Distruptor官网,本文Word、Pdf文档地址,Martin Thompson's Blog。翻译中的不足请大家留言指正。 Disr…
US-B.Ralph
4 years ago