Erlang och OTP för distribuerade och feltoleranta system
Erlang utvecklades på Ericsson för att köra telefonväxlar som inte fick ligga nere – och det ursprunget präglar allt i språket. Aktörsmodellen, de lättviktiga processerna och filosofin let it crash gör Erlang till en av få plattformar där en tillgänglighet på nio nior är ett realistiskt tekniskt mål, inte ett marknadsföringspåstående. OTP-ramverket bygger beprövade abstraktioner – GenServer, Supervisor och tillståndsmaskiner – ovanpå den grunden och ger dig standardmönstren som används i produktionssystem hos WhatsApp, RabbitMQ och CockroachDB.
Det här får du lära dig
Du börjar med Erlangs modell för samtidig körning och processprimitiver och går sedan vidare till kärnan i OTP: att skriva GenServer-callbacks, strukturera supervisionsträd och tillämpa feltoleransstrategier som isolerar fel innan de sprider sig. Därefter täcker kursserien avancerade OTP-beteenden och gen_statem-tillståndsmaskiner, kommunikation mellan distribuerade Erlang-noder, dynamisk supervision och uppgraderingar av livekod utan att stoppa ett system som körs. Senare kurser behandlar Mnesia – Erlangs inbyggda distribuerade databas – prestandaprofilering, observability och säkring av distribuerade noder. Kursserien avslutas med OTP-designmönster från verkliga system och arkitektur för feltåliga distribuerade applikationer från början till slut.
Lärandevägen
Tolv kurser sträcker sig från A2 till C2. Kursserien börjar på A2 med Grunderna i Erlang och grunderna i samtidig körning, går vidare till B2 med OTP-kärnan och grunderna i felhantering och fortsätter sedan genom åtta C1-kurser om distribuerad Erlang, releasehantering, Mnesia och säkerhet. De två sista C2-kurserna – Att bygga feltåliga distribuerade applikationer och Praktiska designmönster för Erlang OTP – sammanför allt i systemdesign med produktionskvalitet.
Så fungerar det
Varje kurs är uppdelad i korta, fokuserade lektioner som du genomför i den inbyggda kodredigeraren med feedback i realtid. En AI-handledare finns tillgänglig när du kör fast i ett supervisionsträd eller ett knepigt scenario med distribuerad meddelandehantering, så att du kan fortsätta utan att tappa sammanhanget.