Principles of Globally Distributed Systems

Preview:

Citation preview

Principles of

Globally Distributed Systems

Hi @tbmcmullentyler@fastly.com

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

Recommended