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
310
Jepsen Introduction LT
Jepsenの紹介LT
UENISHI Kota
May 13, 2015
Tweet
Share
More Decks by UENISHI Kota
See All by UENISHI Kota
Metadata Management in Distributed File Systems
kuenishi
2
410
Behind The Scenes: Cloud Native Storage System for AI
kuenishi
2
270
Apache Ozone behind Simulation and AI Industries
kuenishi
0
210
Distributed Deep Learning with Chainer and Hadoop
kuenishi
3
990
A Few Ways to Accelerate Deep Learning
kuenishi
0
940
Introducing Retz
kuenishi
5
920
Introducing Retz and how to develop practical frameworks
kuenishi
3
590
Formalization and Proof of Distributed Systems (ja)
kuenishi
10
6.1k
Mesos Frameworkの作り方 (How to Make Mesos Framework)
kuenishi
7
2.2k
Other Decks in Technology
See All in Technology
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
170
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
280
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
200
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
510
ユーザーストーリーのレビューを自動化したみたの
bun913
1
420
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
890
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
290
web-application-security
matsuihidetoshi
0
160
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
210
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
190
私が trocco を推す理由
__allllllllez__
1
210
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
460
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
357
22k
Web Components: a chance to create the future
zenorocha
305
41k
We Have a Design System, Now What?
morganepeng
43
6.7k
Docker and Python
trallard
34
2.7k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Bash Introduction
62gerente
604
210k
Infographics Made Easy
chrislema
238
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Writing Fast Ruby
sferik
621
60k
Git: the NoSQL Database
bkeepers
PRO
422
63k
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