Börja med systemdesign
Systemdesign är konsten att fatta tekniska beslut som håller i skala: hur man lagrar data, hur man hanterar miljontals förfrågningar, hur man håller ett system pålitligt när allt försöker bryta det. Det är färdigheten som skiljer senioringenjörer från juniora, och den är ökänt svår att lära sig för kunskapen är utspridd i bloggposter, konferensföredrag och stamkunskap. Dessa två böcker är motgiftet: en lär dig de djupa principerna, den andra lär dig tillämpa dem under press.
Designing Data-Intensive Applications
Boken som varje senioringenjör har i sin hylla. Martin Kleppmann förklarar de grundläggande idéerna bakom databaser, distribuerade system och databehandling med en klarhet som får det komplexa att kännas oundvikligt.
Varför börja här
Designing Data-Intensive Applications (universellt känd som “DDIA”) lär dig hur man tänker om system snarare än bara hur man bygger dem. Kleppmann täcker datamodeller, lagringsmotorer, replikering, partitionering, batchbehandling, strömbehandling och de avvägningar som förbinder dem alla.
Vad du kan förvänta dig
En lång, grundlig teknisk bok uppdelad i tre delar: grunder, distribuerad data och härledd data. Prosan är klar och diagrammen utmärkta. Standardverket för alla som vill förstå hur moderna system fungerar.
Alternativ
System Design Interview
Sexton verkliga systemdesignproblem, vart och ett genomgånget steg för steg med tydliga diagram och praktiska lösningar. Alex Xus guide är den mest populära boken för ingenjörer som förbereder sig för systemdesignintervjuer.