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
Jepsen Introduction LT
Search
UENISHI Kota
May 13, 2015
Technology
2
360
Jepsen Introduction LT
Jepsenの紹介LT
UENISHI Kota
May 13, 2015
Tweet
Share
More Decks by UENISHI Kota
See All by UENISHI Kota
Storage Systems in Preferred Networks
kuenishi
0
18
Metadata Management in Distributed File Systems
kuenishi
2
490
Behind The Scenes: Cloud Native Storage System for AI
kuenishi
2
380
Apache Ozone behind Simulation and AI Industries
kuenishi
0
350
Distributed Deep Learning with Chainer and Hadoop
kuenishi
3
1.2k
A Few Ways to Accelerate Deep Learning
kuenishi
0
1.1k
Introducing Retz
kuenishi
5
1.1k
Introducing Retz and how to develop practical frameworks
kuenishi
3
720
Formalization and Proof of Distributed Systems (ja)
kuenishi
10
6.4k
Other Decks in Technology
See All in Technology
AIコーディングの最前線 〜活用のコツと課題〜
pharma_x_tech
4
2.9k
PostgreSQL Log File Mastery: Optimizing Database Performance Through Advanced Log Analysis
shiviyer007
PRO
1
150
テストって楽しい!開発を加速させるテストの魅力 / Testing is Fun! The Fascinating of Testing to Accelerate Development
aiandrox
0
160
企業が押さえるべきMCPの未来
takaakikakei
0
250
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
560
Aspire をカスタマイズしよう & Aspire 9.2
nenonaninu
0
350
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
5
450
Gateway H2 モジュールで スマートホーム入門
minoruinachi
0
120
Running JavaScript within Ruby
hmsk
3
430
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
230
ペアーズにおける評価ドリブンな AI Agent 開発のご紹介
fukubaka0825
6
1.5k
OPENLOGI Company Profile for engineer
hr01
1
25k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
230
18k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Navigating Team Friction
lara
185
15k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Designing Experiences People Love
moore
142
24k
Building an army of robots
kneath
305
45k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Transcript
2015/5/13 Dwango Internal Erlang/OTP study group, LT Kota UENISHI /
@kuenishi JEPSEN “CALL ME MAYBE”
“Call Me Maybe” WHAT EVEN IS JEPSEN?
Who plays a song “Call Me Maybe” A NAME OF
A SINGER
That can test many system with replication ALSO, A PARTITION
TOLERANCE TEST TOOL
IT HAS TESTED … • PostgreSQL • Redis (Sentinel, redux)
• MongoDB • Riak • ZooKeeper • NuoDB • Kafka • Cassandra • RabbitMQ • etcd and Consul • Elasticsearch • Aerospike (New!)
AND FOUND DATA LOSS ISSUE OF … • Redis (Sentinel,
redux) • MongoDB • Kafka • Cassandra • RabbitMQ • etcd • Elasticsearch • Aerospike
BOXES AND LINES n1 jepsen n2 n3 n4 n5
is implemented in Clojure TECHNICALLY JEPSEN .. • Emulates network
partition • By cutting network between virtual machines • While Jepsen concurrently continues writing data, • And finally verifies any writes are not lost
WHY PARTITION TOLERANCE IS IMPORTANT AND DIFFICULT?
• In the beginning was the failure and asynchrony •
Replication and Consensus next • Failover and recovery / Membership Change mess things • Implementation and runtime is complexed
• for x=1….n • list = get(x) • write(x, [a,
list]) • get(x) • => [1…n] ͱͳ͍ͬͯΕ linearizable
REFERENCES • C.R.Jepsen “Call Me Maybe” • Jepsen blog post
series • github.com/aphyr/jepsen • Kyle Kingsbury: @aphyr (sometimes NSFW) • “The Network Is Reliable” • https://queue.acm.org/detail.cfm?id=2655736