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
78
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
31
Ristretto
evilsmile
0
45
Other Decks in Technology
See All in Technology
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
190
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
460
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
200
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
140
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
450
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
700
ビズリーチ求職者検索におけるPLMとLLMの活用 / Search Engineering MEET UP_2-1
visional_engineering_and_design
1
110
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
130
AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터 IAM까지
kimjaewook
0
130
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
Featured
See All Featured
Navigating Team Friction
lara
190
15k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Being A Developer After 40
akosma
91
590k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Become a Pro
speakerdeck
PRO
29
5.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