【高并发框架】Disruptor之基础介绍
2017-04-13 11:44
302 查看
是什么
Disruptor它是一个开源的并发框架,并获得2011 Duke’s 程序框架创新奖,能够在无锁的情况下实现网络的Queue并发操作。Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱动方式。业务逻辑处理器的核心是Disruptor。
就是一个实现了订阅发布的队列,无锁。它能在一秒内处理6百万个订单(转发),观察者模式。
术语
RingBuffer:
被看作Disruptor最主要的组件,然而从3.0开始RingBuffer仅仅负责存储和更新在Disruptor中流通的数据。对一些特殊的使用场景能够被用户(使用其他数据结构)完全替代。Sequence:
Disruptor使用Sequence来表示一个特殊组件处理的序号。和Disruptor一样,每个消费者(EventProcessor)都维持着一个Sequence。大部分的并发代码依赖这些Sequence值的运转,因此Sequence支持多种当前为AtomicLong类的特性。Sequencer:
这是Disruptor真正的核心。实现了这个接口的两种生产者(单生产者和多生产者)均实现了所有的并发算法,为了在生产者和消费者之间进行准确快速的数据传递。SequenceBarrier:
由Sequencer生成,并且包含了已经发布的Sequence的引用,这些的Sequence源于Sequencer和一些独立的消费者的Sequence。它包含了决定是否有供消费者来消费的Event的逻辑。相关文章推荐
- 高性能并发框架 Disruptor 介绍 实现生产者消费者模型
- [翻译]高并发框架 LMAX Disruptor 介绍
- [Java框架-grails从基础到实践]2、groovy 介绍-了解即可
- 基于C++的纯面向对象的通用高性能大并发TCP-SERVER/CLIENT开发框架实践系列之基础篇
- (pomelo系列入门教材)深入浅出node.js游戏服务器开发1——基础架构与框架介绍
- ACE 的Reactor/Proactor框架下高并发、大容量吞吐介绍
- 基于C++的纯面向对象的通用高性能大并发TCP-SERVER/CLIENT开发框架实践系列之基础篇
- Java并发基础框架AbstractQueuedSynchronizer初探(ReentrantLock的实现分析)
- 无锁并发框架Disruptor
- Disruptor(无锁并发框架)-发布
- Java教程]并发框架Disruptor浅析
- XNA框架基础——XNA介绍
- 并发框架Disruptor译文
- 深入浅出node.js游戏服务器开发——基础架构与框架介绍
- DataDump基础框架及参数介绍
- 介绍一个QTP基础框架 - SIFL
- Netty基础介绍与框架搭建
- 深入浅出node.js游戏服务器开发1——基础架构与框架介绍
- 深入浅出node.js游戏服务器开发1——基础架构与框架介绍
- 并发框架LMAX Disruptor资料总汇