无锁并发框架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