Godt systemdesign er simpelt og selvudviskende, hvor intet går galt og man sjældent tænker over systemets indre.
Systemdesign fokuserer på sammensætning af services (appservere, databaser, køer mv.) i stedet for kodeenheder.
Minimér antallet af stateful komponenter ved at samle skrivelogik i én service og hold øvrige services stateless.
Brug læselisterekplikering og optimer databaseforespørgsler (JOINs, indekser) for at undgå flaskehalse.
Adskil hurtige brugerinteraktive opgaver fra langsomme baggrundsprocesser via jobkøer og planlagte opgaver.
Cache kun efter grundig optimering og foretræk ofte databaseindekser over unødvendig caching.
Brug begivenhedstråde (event hubs) til løst koblede integrationer og undgå overforbrug, når synkrone kald er tilstrækkelige.
Vælg push eller pull afhængig af opdaterings- og trafikmønstre, men skaler ved hjælp af køer eller cachelag.
Identificer og fokuser på systemets hot paths, da de har færre levedygtige designløsninger og større konsekvenser ved fejl.
Implementér aggressiv fejllogning, metrics (inkl. p95/p99) og håndtér fejl med killswitches, circuit breakers og idempotensnøgler.
Get notified when new stories are published for "Hacker News 🇩🇰 Dansk"