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
390
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
45
Metadata Management in Distributed File Systems
kuenishi
2
520
Behind The Scenes: Cloud Native Storage System for AI
kuenishi
2
410
Apache Ozone behind Simulation and AI Industries
kuenishi
0
390
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.2k
Introducing Retz and how to develop practical frameworks
kuenishi
3
740
Formalization and Proof of Distributed Systems (ja)
kuenishi
10
6.4k
Other Decks in Technology
See All in Technology
許しとアジャイル
jnuank
1
120
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
160
「AI駆動PO」を考えてみる - 作る速さから価値のスループットへ:検査・適応で未来を開発 / AI-driven product owner. scrummat2025
yosuke_nagai
4
580
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
250
社内お問い合わせBotの仕組みと学び
nish01
0
120
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9k
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
23
17k
Goにおける 生成AIによるコード生成の ベンチマーク評価入門
daisuketakeda
2
100
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.4k
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
520
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
140
AWSにおけるTrend Vision Oneの効果について
shimak
0
120
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
How GitHub (no longer) Works
holman
315
140k
Designing for humans not robots
tammielis
254
25k
Balancing Empowerment & Direction
lara
4
680
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
580
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Context Engineering - Making Every Token Count
addyosmani
5
180
Building a Scalable Design System with Sketch
lauravandoore
462
33k
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