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
15
Metadata Management in Distributed File Systems
kuenishi
2
490
Behind The Scenes: Cloud Native Storage System for AI
kuenishi
2
370
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.3k
Other Decks in Technology
See All in Technology
Ops-JAWS_Organizations小ネタ3選.pdf
chunkof
2
170
3月のAWSアップデートを5分間でざっくりと!
kubomasataka
0
120
ElixirがHW化され、最新CPU/GPU/NWを過去のものとする数万倍、高速+超省電力化されたWeb/動画配信/AIが動く日
piacerex
0
140
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
CloudWatch 大好きなSAが語る CloudWatch キホンのキ
o11yfes2023
0
170
Amazon CloudWatchで始める エンドユーザー体験のモニタリング
o11yfes2023
0
190
食べログが挑む!飲食店ネット予約システムで自動テスト無双して手動テストゼロを実現する戦略
hagevvashi
3
420
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
170
SREからゼロイチプロダクト開発へ ー越境する打席の立ち方と期待への応え方ー / Product Engineering Night #8
itkq
2
670
Porting PicoRuby to Another Microcontroller: ESP32
yuuu
4
410
SmartHR プロダクトエンジニア求人ガイド_2025 / PdE job guide 2025
smarthr
0
110
OpenSearchでレガシーな検索処理の大幅改善をやってやろう
dznbk
2
170
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
How STYLIGHT went responsive
nonsquared
99
5.5k
How to Ace a Technical Interview
jacobian
276
23k
Become a Pro
speakerdeck
PRO
27
5.3k
A better future with KSS
kneath
239
17k
Raft: Consensus for Rubyists
vanstee
137
6.9k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
A Tale of Four Properties
chriscoyier
158
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
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