1. 程式人生 > >並發框架Disruptor學習入門

並發框架Disruptor學習入門

所有 吞吐量 選擇 用戶 .cn 最新版本 targe 數據 編程

剛剛聽說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學習入門