System Design for Web Devs
Az útvonal
- 85 percA szókincs, és a számok
Késleltetés, átbocsátás és percentilisek — annyi, amivel hangosan tudsz érvelni egy szobában.
Itt szállsz fel - 85 percCache-elés, és hogy mibe kerül
A rétegek, az invalidálás, és hogy tudatosan döntsd el, mennyi elavultságot fogadsz el.
- 85 percÜzenetsorok, és a munka későbbre tolása
Aszinkron határok, újrapróbálkozás, dead letter, és az exactly-once mint megnyugtató mese.
- 85 percAdatbázisok és az elkerülhetetlen kompromisszum
Indexek, normalizálás, replikáció, és hogy mibe kerül a konzisztencia.
- 85 percHat rendszer, végponttól végpontig
Egy feed, egy időzítő, egy fájlszolgáltatás, egy rate limiter, egy keresősáv és egy fizetési folyamat.
- 70 percEgy terv megvédése review-n
A diagram, a számok, és hogy előbb nevezd meg a hibamódot, mint ők.
Bepillantás a tanításba
A cache nem gyorsítási trükk. Döntés arról, mennyire vagy hajlandó téves lenni.
Request → CDN (60s) → app cache (5m) → database
↑ ↑
public data per-user data
# The question is never "should I cache this", but:
# how wrong can this be, for how long, before
# somebody is actually harmed by it?
#
# Course catalogue minutes are fine
# Someone's library seconds, and bust it on purchase
# A payment total never — read it from the source
Cache-elni könnyű, az invalidálás a tervezés. Írd le, mennyi elavultságot fogadsz el az egyes adatfajtákra, mert így is, úgy is elfogadsz valamennyit — csak nem biztos, hogy leírtad.
Ki vezet
Péter úgy magyaráz, ahogy egy jó kolléga a tábla előtt — nincs öncélú szakzsargon, és nincs semmi elrejtve az „ahogy látható” mögé.
Helykitöltő profil