Workshop Event Driven Architectures (EDA)
Link naar sheets (Dag2Les.pptx
) (private repo; met de slides en oefeningen)
Lesvoorbereiding
Als je stap 3 van het bestand “Exercises in Domain Driven Design” niet hebt voltooid, doe dan het volgende:
- Voltooi het domeinmodel voor de bounded contexts die essentieel zijn voor de gameplay.
- Zet de klassen van het domeinmodel om in code met je voorkeursprogrammeertaal. Focus op het maken van klassen en hun attributen, niet op het implementeren van spelregels.
Lesprogramma / Lesmateriaal
- Web Scale Architecture - Zie web-scale-patterns.pdf
- Chess Game DDD - Zie Git Repo
Leerdoelen
- Moet de student vier vormen van event-driven architecturen (Event Notification, Event-carried State Transfer, Event Sourcing, en CQRS) kunnen uitleggen en de verschillen ertussen benoemen. Daarnaast moet de student in staat zijn om de voor- en nadelen van elke vorm te onthouden en uitleggen.
- Aan het einde van de les moet de student het CAP-theorem kunnen uitleggen en de drie pijlers (Consistency, Availability en Partition Tolerance) beschrijven. De student moet kunnen toelichten waarom een gedistribueerd systeem maximaal twee van deze eigenschappen kan waarborgen.
- Aan het einde van de les moet de student het principe Design for Failure kunnen uitleggen, inclusief het belang van foutdomeinen (Bulkhead pattern). De student moet de 8 fallacies of distributed computing in algemene termen kunnen benoemen en begrijpen hoe deze valkuilen kunnen worden vermeden. Daarnaast moet de student het belang van het Circuit-breaker pattern voor snel falen in gedistribueerde systemen kunnen uitleggen.