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
370
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
25
Metadata Management in Distributed File Systems
kuenishi
2
500
Behind The Scenes: Cloud Native Storage System for AI
kuenishi
2
390
Apache Ozone behind Simulation and AI Industries
kuenishi
0
360
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
730
Formalization and Proof of Distributed Systems (ja)
kuenishi
10
6.4k
Other Decks in Technology
See All in Technology
TerraformをSaaSで使うとAzureの運用がこんなに楽ちん!HCP Terraformって何?
mnakabayashi
0
120
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
120
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7.2k
DB 醬,嗨!哪泥嘎斯基?
line_developers_tw
PRO
0
150
Securing your Lambda 101
chillzprezi
0
250
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
170
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1k
In Praise of "Normal" Engineers (LDX3)
charity
1
750
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
Whats_new_in_Podman_and_CRI-O_2025-06
orimanabu
3
170
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
770
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
150
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
4 Signs Your Business is Dying
shpigford
184
22k
Docker and Python
trallard
44
3.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
For a Future-Friendly Web
brad_frost
179
9.8k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
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