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
410
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
71
Metadata Management in Distributed File Systems
kuenishi
2
550
Behind The Scenes: Cloud Native Storage System for AI
kuenishi
2
430
Apache Ozone behind Simulation and AI Industries
kuenishi
0
430
Distributed Deep Learning with Chainer and Hadoop
kuenishi
3
1.3k
A Few Ways to Accelerate Deep Learning
kuenishi
0
1.2k
Introducing Retz
kuenishi
5
1.2k
Introducing Retz and how to develop practical frameworks
kuenishi
3
780
Formalization and Proof of Distributed Systems (ja)
kuenishi
10
6.5k
Other Decks in Technology
See All in Technology
Interop Tokyo 2025 ShowNet Team Memberで学んだSRv6を基礎から丁寧に
miyukichi_ospf
0
160
NW構成図の自動描画は何が難しいのか?/netdevnight3
corestate55
2
150
Agent Ready になるためにデータ基盤チームが今年やること / How We're Making Our Data Platform Agent-Ready
zaimy
0
160
俺の失敗を乗り越えろ!メーカーの開発現場での失敗談と乗り越え方 ~ゆるゆるチームリーダー編~
spiddle
0
270
AI が Approve する開発フロー / How AI Reviewers Accelerate Our Development
zaimy
1
130
三菱UFJ銀行におけるエンタープライズAI駆動開発のリアル / Enterprise AI_Driven Development at MUFG Bank: The Real Story
muit
5
12k
技術選定 したい人 したくない人
shirayanagiryuji
0
330
AIで「ふとした疑問」を即座に検証する 〜定量で圧倒するN1理解〜
kakehashi
PRO
3
710
Claude Codeで実践するスペック駆動開発入門 / sdd-with-claude_code
yoshidashingo
2
4.3k
Agent Skills 入門
puku0x
0
860
「OSアップデート:年に一度の「大仕事」を乗り切るQA戦略」_Mobile Tech Flex 〜4社合同!私たちのモバイル開発自慢大会〜
gu3
0
210
Scrum Fest Morioka 2026
kawaguti
PRO
2
590
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
460
Believing is Seeing
oripsolob
1
67
A Soul's Torment
seathinner
5
2.3k
Color Theory Basics | Prateek | Gurzu
gurzu
0
210
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
200
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
140
Six Lessons from altMBA
skipperchong
29
4.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The Limits of Empathy - UXLibs8
cassininazir
1
230
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