Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Disruptor
Search
Viney
July 30, 2019
Technology
0
77
Disruptor
Introduce the high performance queue mechanism in JAVA
Viney
July 30, 2019
Tweet
Share
More Decks by Viney
See All by Viney
Goroutine Pool in 17LIVE
evilsmile
0
510
Microservice
evilsmile
0
190
Efficiency and performance
evilsmile
0
29
Ristretto
evilsmile
0
42
Other Decks in Technology
See All in Technology
ガチな登山用デバイスからこんにちは
halka
1
240
研究開発と製品開発、両利きのロボティクス
youtalk
1
520
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
370
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
180
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
240
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
400
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
21
11k
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
410
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
220
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Building an army of robots
kneath
306
46k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
KATA
mclloyd
32
14k
Statistics for Hackers
jakevdp
799
220k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Transcript
Disruptor By Viney
What's that?
Like: syslog fluentd
Speed = Money
None
PubSub model
None
Data in Queue related to policy
End to end Latency = computational time + latency of
moving data
Blocking Queue 4 array-based 4 linked list based
Racing issue
None
Synchronization Lock
Issues 4 Repeatedly accessing data in memory 4 Not cache-friendly
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Performance https://colobu.com/2016/07/22/using-go-disruptor/ 4 Java Disruptor : 183486238 ops/s 4 go-disruptor
: 137931020 ops/s 4 go channel : 6995452 ops/s
What if we have a slow consumer? 4 batching effect
4 multiple consumers
None
What if the buffer is constantly full? 4 enhance ring
size 4 seperate producers 4 multiple Disruptors
When to use it? 4 low latency required
reference 4 https://lmax-exchange.github.io/disruptor/files/ Disruptor-1.0.pdf 4 https://github.com/smartystreets-prototypes/go- disruptor
Q&A