Characteristics of distributed systems (transparency, openness, scalability), System models (client-server, peer-to-peer, multi-tier), Fallacies of distributed computing (clock synchronization, network failures), Time...
Characteristics of distributed systems (transparency, openness, scalability), System models (client-server, peer-to-peer, multi-tier), Fallacies of distributed computing (clock synchronization, network failures), Time synchronization (NTP, logical clocks, vector clocks), Distributed mutual exclusion algorithms (Ricart-Agrawala, token ring), CAP theorem and consistency models (strong, eventual, causal).
Message passing vs. shared memory, RPC and RMI principles, REST vs. gRPC communication models, Asynchronous messaging (RabbitMQ, Apache Kafka), Publish-subscribe patterns, Leader election algorithms (Bully, Raft simplified), Group membership and failure detectors, Distributed transactions (2PC, 3PC, Saga pattern).
Replication techniques (primary-backup, multi-master, chain), Consistency models (linearizability, sequential consistency, PRAM), Quorum systems and consistency guarantees, Conflict resolution strategies (last-writer-wins, vector clocks, CRDTs), Paxos consensus algorithm overview, Raft consensus protocol (leader election, log replication), Practical replication systems (ZooKeeper, etcd).
Monolith to microservices decomposition strategies, Domain-Driven Design (bounded contexts, context mapping), Service granularity and cohesion principles, API gateway patterns, Service mesh architecture (Istio, Linkerd), Circuit breaker pattern, Bulkhead pattern, Saga pattern for distributed transactions, Event sourcing and CQRS.
Fault tolerance design patterns (retry, timeout, fallback), Chaos engineering principles, Distributed tracing (OpenTelemetry, Jaeger), Metrics collection and alerting (Prometheus, Grafana), Service level objectives (SLOs, SLIs, error budgets), Load balancing strategies (client-side, server-side), Autoscaling and capacity planning, Deployment strategies (blue-green, canary, rolling updates).