並發框架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
並發框架Disruptor學習入門