Architectural models for distributed systems, structured and flat naming, Distributed Hash Tables (DHTs), Domain Name System (DNS), clock synchronization, distributed election algorithms, and microservices fundamentals.
Lecture 4.3: Structured Naming & Domain Name System (DNS)
From identifiers to structured hierarchical naming, reverse FQDN resolution, DNS namespace layers (Global, Administrational, Managerial), authoritative comparative analysis, iterative vs. recursive name resolution trade-offs, and multi-tier DNS caching with interactive live Canvas simulators.
Lecture 7: Distributed Systems & Microservices Architecture
Fundamental principles of distributed systems, design goals (resource sharing, distribution transparency, openness, scalability), the 8 fallacies of distributed computing, the role of middleware, layered architectures (2-tier, 3-tier, N-tier), architectural comparison: Monolith vs. SOA vs. Microservices, domain decomposition heuristics, synchronous vs. asynchronous communication trade-offs, and initial project guidelines for the 2nd GQ.
Lecture 8: Containers & Docker for Distributed Systems
Evolution from bare-metal to virtual machines and containers, Linux kernel isolation primitives (Namespaces, Cgroups, UnionFS/OverlayFS), Docker architecture and image layer caching, data persistence (Volumes vs. Bind Mounts), container networking and internal DNS, multi-service orchestration with Docker Compose, and official project specification for the 2nd GQ Distributed Middleware.