簡體   English   中英

Java Disruptor模式和低延遲

[英]Java Disruptor pattern and low latency

Q1)熟悉Java Disruptor模式的人是否知道他們對結果進行基准測試的消息大小? 我正在編寫一個類似的系統(出於純粹的興趣),當我閱讀他們的測試描述時,沒有提到發送的消息大小?

http://code.google.com/p/disruptor/wiki/PerformanceResults

Q2)是計算機與計算機通信或進程間的破壞者嗎? 我最初的印象是計算機到計算機,但他們的工作被標記為“inter thread”消息庫?

Disruptor不僅僅在同一台機器內,它只需要一個進程。 當他們說“線程間”時,它們意味着它用於在一個進程的線程之間發送消息。

消息大小實際上幾乎無關緊要,因為消息不會被復制。 消息在開始時都是固定的並且可以重復使用,所以它們的大小並不重要。

雖然我不完全熟悉,只是探索它...

1)從src中的perf測試文件夾看起來它們正在使用ValueEvent類, 它只包含一個long,還有一些其他的xxxEvent類在其他性能測試中使用稍微大一點但是我可以到目前為止,在環形緩沖區內只使用了很長的時間。

2)我認為這是完全相同的機器間線程通信。 跨機器的通信的延遲和不確定性會使它非常慢。 (相對)然后該項目還需要處理套接字通信,我在這個庫中沒有看到。

1,Disruptor不關心消息的大小。 但結果應該根據消息的大小線性下降(工作量增加,速度下降)

在行動中,它並不關心這個消息。

庫的KEY是緩沖區的ID 指針,位置,光標,指示器,都意味着相同。 Disruptor自稱為“ 序列

一旦身份證拿到,整個世界只歸你所有!:)所以只有一個作家 真正的關鍵點。:)

2,不是C2C,也不是P2P :)。 只是T2T。 T是線程。 peter-lawrey有一個很棒的Java-Chronicle庫 ,可以用於P2P案例。 關於java dzone的新文章: http ://java.dzone.com/articles/ultra-fast-reliable-messaging

3,核心模式應該能夠克隆到跨界用例。 每件事都是身份證。 至於信息,定制化。

4,另一個重點,就是volatile緩存 github上的一個很好的例子

5,JDK8介紹一個新的注釋@Contended ,看起來很性感。 有關競爭的細節

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM