无锁并发框架Disruptor学习入门

 刚刚听说disruptor,大概理一下,只为方便自己理解,文末是一些自己认为比较好的博文,如果有需要的同学可以参考。

本文目标:快速了解Disruptor是什么,主要概念,怎么用

 1、Disruptor简介

Disruptor是什么?有什么特点/优点?

  --Disruptor是一个用于在线程间通信的高效低延时的消息组件,它像个增强的队列。

  --它是一个高性能、低延迟、使用简单的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式实现,或者事件-监听模式的实现,直接称disruptor模式。

  --disruptor最大特点是高性能,其LMAX架构可以获得每秒6百万订单,用1微秒的延迟获得吞吐量为100K+。

Disruptor 相对于传统方式的优点:

  --无锁,没有竞争

  --所有访问者都记录自己的序号的实现方式,允许多个生产者与多个消费者共享相同的数据结构

  --缓存行填充,解决伪共享,提高cache命中率

  --环形数组RingBuffer,避免GC开销

 

2、关键概念与原理

初学,大概过一遍,先有个印象:

Disruptor原理与编程实践 - CSDN博客  http://blog.csdn.net/jeffsmish/article/details/53572043

专题:Java并发框架剖析--Disruptor_51CTO.COM  http://developer.51cto.com/art/201306/399370.htm

Disruptor 极速体验 - haiq - 博客园  http://www.cnblogs.com/haiq/p/4112689.html

并发框架Disruptor译文 | 并发编程网 – ifeve.com  http://ifeve.com/disruptor/

高性能队列Disruptor系列2--浅析Disruptor - aheizi - 博客园  http://www.cnblogs.com/aheizi/p/6883062.html

3、如何使用

新建Maven工程,选择maven仓库找用户比较多的版本,加入依赖即可,我自己选择的目前最新版本3.3.7的。

敲了一遍代码,感觉由浅入深,根据下面的顺序来比较好,感受一下它的用法:

架构师入门笔记七 并发框架Disruptor快速入门 - ITDragon博客 - CSDN博客  http://blog.csdn.net/qq_19558705/article/details/77116949

架构师入门笔记八 并发框架Disruptor场景应用 - ITDragon博客 - CSDN博客  http://blog.csdn.net/qq_19558705/article/details/77247912

Disruptor入门-博客-云栖社区-阿里云  https://yq.aliyun.com/articles/20332#4

disruptor demo(三) 复杂一点的例子 - CSDN博客  http://blog.csdn.net/qian_348840260/article/details/38321371

posted @ 2017-11-16 16:58  VNX  阅读(712)  评论(0编辑  收藏  举报