disruptor框架:是乙個開源的併發框架、高效能的非同步處理框架、「生產者-消費者設計模式」,其核心是業務核心處理器,可以在乙個執行緒中每秒處理600萬訂單
「生產者-消費者設計模式」:
框架實現主要由以下部分構成
1.建立資料實體類(即對於要實現非同步的方法資料實體類)event
//2.事件工廠eventfactory1.資料實體類
public
class
longevent
public
void setvalue(long
value)
}
//3.消費者,事件處理器(eventhandler和workhandler,兩者區別是將多個eventhandler的實現類傳入,每個消費者都會對同一條訊息進行獨立消費,消費者之間不存在競爭;多個workhandler的實現類傳入2.建立工廠類(相當於緩衝區),會在disruptor系統初始化時,構造物件例項
public
class longeventfactory implements eventfactory
}
,不會重複消費,即消費者a對訊息a進行消費,消費者b不會在對訊息a進行消費)
//4.生產者3.建立消費者類
public
class longworkhandler implements workhandler
}
//5.測試4.建立生產者類
public
class
longeventproducer
//將資料推入到環形緩衝區
public
void ondata(int
i)
finally}}
//6.結果5.測試類
public
class
longeventmain
disruptor.shutdown();
//關閉 disruptor,方法會堵塞,直至所有的事件都得到處理;
((executorservice) executor).shutdown();//
關閉 disruptor
//使用的執行緒池;如果需要的話,必須手動關閉,
//disruptor 在 shutdown 時不會自動關閉;
}}
併發框架Disruptor
martin fowler在自己 上寫了一篇 lmax架構 的文章,在文章中他介紹了lmax是一種新型零售金融交易平台,它能夠以很低的延遲產生大量交易。這個系統是建立在jvm平台上,其核心是乙個業務邏輯處理器,它能夠在乙個執行緒裡每秒處理6百萬訂單。業務邏輯處理器完全是執行在記憶體中,使用事件源驅動...
併發程式設計 Disruptor併發框架
disruptor是什麼?disruptor是乙個高效能的非同步處理框架,或者可以認為是最快的訊息框架 輕量的jms 也可以認為是乙個觀察者模式的實現,或者事件監聽模式的實現 disruptor入門程式 在disruptor中實現helloworld入門程式的步驟 1.建立乙個event類 資料 2...
併發框架Disruptor譯文
martin fowler在自己 上寫了一篇lmax架構的文章,在文章中他介紹了lmax是一種新型零售金融交易平台,它能夠以很低的延遲產生大量交易。這個系統是建立在jvm平台上,其核心是乙個業務邏輯處理器,它能夠在乙個執行緒裡每秒處理6百萬訂單。業務邏輯處理器完全是執行在記憶體中,使用事件源驅動方式...