Date post: | 16-Apr-2017 |
Category: |
Technology |
Upload: | fastly |
View: | 217 times |
Download: | 0 times |
Principles of
Globally Distributed Systems
Practicality
Carlos Baquero Peter Alvaro Peter Bailis
Joseph Hellerstein Marc Shapiro João Leitão
Chris Meiklejohn
Use off-the-shelf
Partial Availability
“Nearly all systems are probabilistic, whether they
realize it or not.”
“With high probability” is Fine
Failure Independence
v1 of Fastly Instant Purge
E
D
F
C
A
B
Graph of Responsibility
E
D
F
C
A
B
Graph of Responsibility
E
D
F
C
A
B
Graph of Responsibility
E
D
F
C
A
B
PURGE
E
D
F
C
A
B
PURGE
E
D
F
C
A
B
PURGE
E
D
F
C
A
B
PURGE
E
D
F
C
A
B
PURGE
Failure Dependence
E
D
F
C
A
B
PURGE
E
D
F
C
A
B
PURGE
E
D
F
C
A
B
PURGE
E
D
F
C
A
B
PURGE
E
D
F
C
A
B
PURGE
How does Load flow?
The Internet is both more and less reliable than we think
Q: What is a normal amount of jitter on a North American backbone?
A: <250μs
Normal packetloss is <0.1%
Asymmetric Network
Splits
Paths are not symmetric
Q: How do you see the inbound
path?
A: Trick question. You don’t.
Consistency
CAP
Avoid Coordination
AP
https://aphyr.com/posts/313-strong-consistency-models
Causality
CRDTs
Further Reading
Notes on Distributed Systems for Youngbloods
Fallacies of Distributed Computing
Literally everything on aphyr.com
Publications of the SyncFree group
Thanks