Kies uw taal
Snelcursus System Design
Meer dan 2 miljoen studenten wereldwijd

Snelcursus System Design

Beheers de vaardigheden die engineers nodig hebben om grootschalige gedistribueerde systemen vanaf de basis te ontwerpen. Deze cursus behandelt alles van capaciteitsschatting en databasekeuze tot berichtensystemen, cachingstrategieën en fouttolerantie. Of je je nu voorbereidt op senior engineering-interviews of jezelf verder ontwikkelt in je functie, je rondt af met een herhaalbaar framework voor het aanpakken van elk systeemontwerpprobleem.

Dedika voor bedrijven

Wat je gaat leren:

Je bouwt een solide basis op in gedistribueerde systeemconcepten, waaronder latentie, doorvoer, consistentiemodellen en de CAP-stelling. Van daaruit leer je hoe je schaalbare opslaglagen ontwerpt, meerlaagse cachingstrategieën implementeert en de juiste communicatieprotocollen kiest voor elke use case. De cursus behandelt berichtensystemen, event-driven architectuur, load balancing en betrouwbaarheidspatronen zoals circuit breakers en chaos engineering. Je werkt ook aan volledige end-to-end ontwerpen voor echte systemen, waaronder een URL-verkorter, een rate limiter, een notificatiesysteem en een social media-feed. Na afloop heb je zowel de technische diepgang als de gestructureerde communicatievaardigheden om productieklare systemen met vertrouwen te ontwerpen.

Hoe je praktisch studeert Snelcursus System Design

Hoe je oefent Snelcursus System Design

Voor bedrijven die hun team willen trainen

Bij Dedika voor bedrijven bevat de cursus oefeningen en voorbeelden die zijn afgestemd op jouw organisatie en precies zoals jouw bedrijf het nodig heeft.

Klik hier

Cursusinhoud

8 Hoofdstukken • 33 LessenDuur tussen 4 en 360 uren (jij beslist)

Hoofdstuk 1Bekijk details

Grondslagen van Systeemontwerp

  • Les 1 • Schaal en Capaciteit Schatten

    Leert vuistregelberekeningen om systemen te dimensioneren voordat ze worden ontworpen. Nauwkeurige schattingen voorkomen over-engineering en onderdimensionering.

  • Les 2 • Kernconcepten van Gedistribueerde Systemen

    Introduceert latentie, doorvoer, beschikbaarheid en consistentie als de vier pijlers van gedistribueerd redeneren. Deze concepten vormen de basis voor elke later besproken afweging.

  • Les 3 • Systeemvereisten Definiëren

    Behandelt gestructureerde vereistenverzameling met behulp van verduidelijkende vragen en constraint-mapping. Produceert een duidelijke probleemstelling die alle volgende ontwerpbeslissingen stuurt.

  • Les 4 • Wat Systeemontwerp Echt Is

    Definieert systeemontwerp als het proces van het vertalen van vereisten naar architectuur. Legt uit waarom gestructureerd denken belangrijk is voordat er code wordt geschreven.

Hoofdstuk 2Bekijk details

Netwerken en Communicatieprotocollen

  • Les 1 • Real-Time Communicatietechnieken

    Onderzoekt WebSockets en streamingprotocollen voor datastromen met lage latentie en bidirectionele gegevensuitwisseling. Bereidt studenten voor op het ontwerpen van chat-, game- en live-feed-systemen.

  • Les 2 • Hoe het Internet Werkt

    Behandelt DNS-resolutie, TCP/IP en HTTP als de ruggengraat van webcommunicatie. Biedt de netwerkcontext die nodig is om over latentie en betrouwbaarheid te redeneren.

  • Les 3 • Synchrone vs. Asynchrone Communicatie

    Onderscheidt request-response van event-gestuurde patronen en hun impact op koppeling. Asynchroon ontwerp is fundamenteel voor schaalbare, veerkrachtige architecturen.

  • Les 4 • API-ontwerppatronen

    Vergelijkt REST, GraphQL en RPC als de dominante API-paradigma's. Het kiezen van het juiste patroon heeft directe invloed op clientkoppeling en systeemevolueerbaarheid.

Hoofdstuk 3Bekijk details

Opslagsystemen en Databaseontwerp

  • Les 1 • NoSQL Databasecategorieën

    Onderzoekt key-value-, document-, column-family- en graph-opslag met hun ideale gebruiksscenario's. Het matchen van datamodel aan opslagtype is de centrale vaardigheid van dit onderdeel.

  • Les 2 • Databaseschalingstrategieën

    Behandelt replicatie, sharding en leesreplica's als de primaire hulpmiddelen voor het schalen van opslag. Elke strategie introduceert specifieke consistentie- en operationele afwegingen.

  • Les 3 • Relationele Databasegrondslagen

    Bespreekt ACID-eigenschappen, normalisatie en indexering als de kern van relationele opslag. Deze concepten zijn vereisten voor het begrijpen wanneer men verder moet gaan dan SQL.

  • Les 4 • De Juiste Opslagoplossing Kiezen

    Biedt een beslissingskader voor het selecteren van opslag op basis van querypatronen, consistentiebehoeften en schaal. Synthetiseert alle eerdere opslagkennis in bruikbare richtlijnen.

Hoofdstuk 4Bekijk details

Caching en Prestatieoptimalisatie

  • Les 1 • Cache-invalidatiestrategieën

    Behandelt write-through, write-behind en cache-aside als de drie kernbenaderingen voor invalidatie. Onjuiste invalidatie is de belangrijkste oorzaak van bugs met verouderde gegevens.

  • Les 2 • Basisprincipes van Caching

    Definieert cache hits, misses, verwijderingsbeleid en TTL als het vocabulaire van caching. Inzicht in deze mechanismen is vereist voordat een cachingpatroon wordt toegepast.

  • Les 3 • Geavanceerde Cachinguitdagingen

    Behandelt thundering herd-, cache stampede- en hotspot-problemen die optreden bij schaalvergroting. Het oplossen ervan vereist probabilistische technieken en zorgvuldig sleutelontwerp.

  • Les 4 • Cachinglagen en Plaatsing

    Wijst caching toe aan client-, CDN-, applicatie- en databaselagen. Plaatsingsbeslissingen bepalen de latentiereductie en consistentierisico op elk niveau.

Hoofdstuk 5Bekijk details

Schaalbaarheid en Load Balancing

  • Les 1 • Verticaal vs. Horizontaal Schalen

    Contrasteert het opschalen van één machine met het uitschalen over meerdere nodes. Horizontaal schalen is de basis van moderne cloud-native architectuur.

  • Les 2 • Auto-Scaling en Elasticiteit

    Behandelt reactief en voorspellend auto-scalingbeleid gekoppeld aan metrieken en schema's. Goed schaalbeleid voorkomt zowel overdimensionering als verkeersgerelateerde uitval.

  • Les 3 • Wereldwijde Verkeersdistributie

    Introduceert GeoDNS, anycast-routing en multi-regio active-active-implementaties. Wereldwijde distributie vermindert latentie voor internationale gebruikers en verbetert de rampbestendigheid.

  • Les 4 • Load Balancer Ontwerp en Algoritmen

    Legt Layer 4 vs. Layer 7 load balancing en veelgebruikte routeringsalgoritmen uit. Algoritmekeuzes beïnvloeden de latentieverdeling en backendbenutting.

Hoofdstuk 6Bekijk details

Berichtensystemen en Event-Gestuurde Architectuur

  • Les 1 • Eventstreamingplatforms

    Behandelt log-gebaseerd streamen als een duurzaam, herbruikbaar alternatief voor traditionele wachtrijen. Streamen maakt real-time analytics, event sourcing en audittrails mogelijk.

  • Les 2 • Event-Gestuurde Architectuurpatronen

    Past event sourcing, CQRS en saga-patronen toe op complexe gedistribueerde workflows. Deze patronen lossen consistentieproblemen op die two-phase commit niet aankan op schaal.

  • Les 3 • Leveringsgaranties en Ordening

    Onderscheidt at-most-once, at-least-once en exactly-once leveringssemantiek. Ordeningsgaranties beïnvloeden de correctheid in financiële, voorraad- en auditsystemen.

  • Les 4 • Basisprincipes van Berichtenwachtrijen

    Introduceert wachtrijen, topics, producenten en consumenten als de bouwstenen van asynchrone berichtenuitwisseling. Ontkoppeling via wachtrijen is het primaire hulpmiddel voor het absorberen van verkeerspieken.

Hoofdstuk 7Bekijk details

Betrouwbaarheid, Fouttolerantie en Veerkracht

  • Les 1 • Chaos Engineering en SLO-beheer

    Past gecontroleerde foutinjectie toe om veerkrachtaannames te valideren voordat productie-incidenten optreden. SLO's vertalen betrouwbaarheidsdoelen naar meetbare, uitvoerbare doelstellingen.

  • Les 2 • Foutmodi in Gedistribueerde Systemen

    Catalogiseert netwerkpartities, node-crashes en Byzantine-fouten als de primaire foutklassen. Het herkennen van foutmodi is de voorwaarde voor het ontwerpen ertegen.

  • Les 3 • Circuit Breakers en Bulkheads

    Introduceert circuit breakers en bulkhead-isolatie als de twee primaire foutinsluitingspatronen. Deze voorkomen dat één falende afhankelijkheid het hele systeem doet instorten.

  • Les 4 • Redundantie- en Replicatiepatronen

    Behandelt active-passive, active-active en N+1-redundantie als de kernbeschikbaarheidspatronen. Het redundantieniveau moet worden afgestemd op de hersteltijd- en kostenobjectieven.

Hoofdstuk 8Bekijk details

Het Ontwerpen van Real-World Systemen van Begin tot Eind

  • Les 1 • Het Ontwerpen van een URL-verkorter

    Past het raamwerk toe op een klassiek, goed afgebakend probleem dat hashing, omleiding en analyses omvat. Toont aan hoe eenvoudige vereisten diepe opslag- en cachingbeslissingen onthullen.

  • Les 2 • Het Ontwerpen van een Gedistribueerde Rate Limiter

    Bouwt een token bucket- en sliding window-rate limiter die werkt over meerdere nodes. Toont aan hoe gedistribueerd toestandsbeheer schijnbaar eenvoudige algoritmen compliceert.

  • Les 3 • Het Ontwerpen van een Notification System

    Behandelt multi-channel levering, prioriteitswachtrijen en deduplicatie voor push, e-mail en SMS. Integreert berichten-, opslag- en betrouwbaarheidspatronen uit alle voorgaande hoofdstukken.

  • Les 4 • Het Ontwerpen van een Social Media Feed

    Pakt fan-out on write vs. fan-out on read aan voor nieuwsfeedgeneratie op schaal. Legt de spanning bloot tussen schrijfamplificatie en leeslatentie in scenario's met veel volgers.

  • Les 5 • Een Gestructureerd Ontwerpraamwerk

    Presenteert een herhaalbaar vijfstappenraamwerk: verduidelijken, schatten, ontwerpen, diepgaand onderzoeken en beoordelen. Consistente structuur voorkomt gemiste vereisten en ongeorganiseerde presentaties.

Certificering

Jouw geldig certificaat van voltooiing

Deze cursus is voor jou:

  • Software-engineers op middenniveau: klaar om door te groeien naar senior- of staff-functies.

  • Backend-ontwikkelaars: die met vertrouwen willen redeneren over grootschalige architectuur.

  • Full-stack-engineers: die zich onzeker voelen wanneer gesprekken over infrastructuurontwerp gaan.

  • Computerwetenschapsafgestudeerden: die de arbeidsmarkt betreden en systeemontwerprondes tegemoet zien.

  • Engineeringmanagers: die architectuurbeslissingen geloofwaardig moeten beoordelen en begeleiden.

  • Carrièreswitchers uit aanverwante tech-rollen: die vloeiendheid opbouwen in denken over gedistribueerde systemen.

Wat onze studenten zeggen

Jullie lessen zijn perfect. Ik heb het jaarpakket aangeschaft en heb eindelijk de mogelijkheid om verschillende onderwerpen die mij interesseren te volgen zonder van platform te hoeven wisselen... bedankt voor alles wat jullie doen, ik heb jullie al aan anderen aanbevolen...
Giulio Carlo
Giulio CarloStudent Digitale Marketing
Ik vind het fijn hoe de lessen direct ter zake zijn en hoe ik tussen hoofdstukken kan wisselen en content kan overslaan die ik niet nodig heb.
Mariana Ferres
Mariana FerresStudent Fotografie
Ik vind de content en de manier van presenteren en transcriptie van video's geweldig, wat het proces versnelt!
Luciana Alvarenga
Luciana AlvarengaStudent Nageldesign
Het platform is snel en eenvoudig te gebruiken. De diversiteit aan content en de aanvullende video's helpen enorm bij het leren.
André Felipe
André FelipeStudent Prompt Engineering

Belangrijkste opleidingen

FAQ

Wie is Dedika?

Is het certificaat geldig in Nederland?

Zijn de cursussen gratis?

Wat is de studielast van de cursus?

Hoe zien de cursussen eruit?

Hoe werken de cursussen?

Wat is de duur van de cursussen?

Wat zijn de kosten of prijzen van de cursussen?

Wat is een EAD- of online cursus en hoe werkt het?

PDF-cursus