文章目录
  1. 1. Disruptor从何而来?
  2. 2. Disruptor有何特点?

Disruptor,一款超高性能、超低延迟的并发编程框架。这里用了两个“超”来突出它在性能上的优越性。

它的性能远远超过了传统并发编程基于锁同步,阻塞队列的实现方案,在高性能后端编程中,disruptor是一个不错的选择。

Disruptor从何而来?

Disruptor的爆火起源于软件开发大师 martin fowler(马丁富勒)在自己网站上一篇文章,原文链接 文章介绍了外汇交易平台LMAX使用并开源的一种架构方案。

LMAX使用该方案实现了难以置信的 “单线程每秒处理600w订单” 的惊人能力。业务处理逻辑基于 完全运行内存运行 + 事件溯源 方式驱动。

Disruptor目前已经被LMAX开源,github地址 https://github.com/LMAX-Exchange/disruptor

Disruptor有何特点?

Disruptor性能优越,必然有其设计上的独到之处,一般来说,我们认为Disruptor有以下特点:

  • Disruptor是面向并发编程的高性能框架,它在开发上简化了并发程序编码难度,性能上也是JUC并发包的数倍乃至十几倍;
  • Disruptor是CPU友好的、无锁的,基于单线程方式对任务进行调度,减少了上下文切换对系统资源的开销;
  • Disruptor底层数据结构基于数组,通过预加载方式提前加载对象到内存;Disruptor不会清理缓存中的数据,而是通过覆盖对象属性方式实现数据的读写,这降低了GC频率,使得系统资源的使用趋于平稳;
  • Disruptor能够避免“伪共享”,通过缓存行填充机制,Disruptor避免了伪共享对并发读写变量的消耗,消除了不必要缓存未命中。



版权声明:

原创不易,洗文可耻。除非注明,本博文章均为原创,转载请以链接形式标明本文地址。

文章目录
  1. 1. Disruptor从何而来?
  2. 2. Disruptor有何特点?
Fork me on GitHub