消费者读取处理慢_Java高并发之Disruptor框架:单线程每秒处理600万订单高并发框架...

本文介绍了Disruptor框架,一个用于处理高并发的并发框架,能实现单线程每秒处理600万订单。Disruptor通过弃用锁机制、缓存行填充和使用RingBuffer数据结构,解决了传统并发框架的性能问题,实现了高效无锁的并发操作。
摘要由CSDN通过智能技术生成

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

70f41581116c97f309cad60919782c76.png

一、何为Disruptor?

disruptor是LMAX的一个并发框架,在很难再继续压榨CPU的今天,disruptor显然又挑战了极限。LMAX可以达到单线程每秒6百万订单,用1微秒的延迟获得吞吐量为100K+。真是让人惊叹不已。简单来说他就是一个有界队列,类似我们所熟悉的JDK里并发包下的ArrayBlockingQueue。复杂来说,他具有ArrayBlockingQueue做不到的强大功能,比如串并行操作、多生产者多消费者模型。

那么,disruptor到底为什么这么强大呢,有很多文章都对其进行了描述(见参考)。

归结下来有这么几点:

1. 弃用锁机制转而使用CAS。

Disruptor论文中讲述了我们所做的一个实验。这个测试程序调用了一个函数,该函数会对一个64位的计数器循环自增5亿次。当单线程无锁时,程序耗时300ms。如果增加一个锁(仍是单线程、没有竞争、仅仅增加锁),程序需要耗时1000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值