股票,外汇,期货交易是一种极其复杂的交易系统,纽交所,纳斯达克每秒钟都进行这上百万的撮合交易,大量的数据数百万的并发量对服务器产生巨大的压力。要面对这么多的客单量,传统框架的交易系统将会造成雪崩,无法提供服务,安全高效的高并发框架是突破此类技术瓶颈的主要方案之一。今天小编将带领大家了解一款号称单线程每秒钟解决600万订单的高并发框架:Disruptor.

一、何为Disruptor?
disruptor是LMAX的一个并发框架,在很难再继续压榨CPU的今天,disruptor显然又挑战了极限。LMAX可以达到单线程每秒6百万订单,用1微秒的延迟获得吞吐量为100K+。真是让人惊叹不已。简单来说他就是一个有界队列,类似我们所熟悉的JDK里并发包下的ArrayBlockingQueue。复杂来说,他具有ArrayBlockingQueue做不到的强大功能,比如串并行操作、多生产者多消费者模型。
那么,disruptor到底为什么这么强大呢,有很多文章都对其进行了描述(见参考)。
归结下来有这么几点:
1. 弃用锁机制转而使用CAS。
Disruptor论文中讲述了我们所做的一个实验。这个测试程序调用了一个函数,该函数会对一个64位的计数器循环自增5亿次。当单线程无锁时,程序耗时300ms。如果增加一个锁(仍是单线程、没有竞争、仅仅增加锁),程序需要耗时1000