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
63
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
460
Microservice
evilsmile
0
140
Efficiency and performance
evilsmile
0
21
Ristretto
evilsmile
0
9
Other Decks in Technology
See All in Technology
OpenTelemetry実践 はじめの一歩
taxin
0
310
長文から長文を生成するLLMツールをオープンソースで作ってみた。
tomohisa
2
140
エンジニアブランディングチームの KPI / KPI's of engineer branding team
chaspy
1
140
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
20
4k
KTC_DBRE.pdf
_awache
0
290
20240321_生成AI時代のDevOps
kzkmaeda
2
610
GraphQLに入門してみた
chiroruxx
2
120
ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
yuitosato
29
12k
Ask-LLM論文紹介: How to Train Data-Efficient LLMs
s_ota
0
110
技育祭2024春 LT Finatextホールディングス
kevinrobot34
1
160
データ化エンジニアとしての1年を振り返る
sansantech
PRO
3
250
Autify Company Deck
autifyhq
1
30k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
Scaling GitHub
holman
456
140k
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.8k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
111
35k
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.6k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
950
Automating Front-end Workflow
addyosmani
1353
200k
Designing the Hi-DPI Web
ddemaree
275
33k
Building Better People: How to give real-time feedback that sticks.
wjessup
350
18k
Building Adaptive Systems
keathley
29
1.8k
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