advanced
Microservices и distributed systems
Проектируйте service boundaries, communication, consistency, resilience, operations и patterns для systems, которые fail across process и network boundaries.
На интервью по распределённым системам фокус на отказах, согласованности и эксплуатации — а не на множестве блоков на диаграмме. Ожидайте декомпозицию, sync vs async, владение данными, sagas/outbox/inbox, идемпотентность, resilience (timeouts, retries, circuit breakers) и day-2 operations (discovery, config, tracing, versioning).
На интервью: разберите сценарий сбоя (timeout downstream, дубликат сообщения, частичный outage) и какие предохранители добавите.
Типовые ошибки: распределённый монолит, общие БД, chatty sync-цепочки, retries без идемпотентности.
Чеклист:
- Один сервис владеет своими данными.
- Async для слабой связности, когда latency позволяет.
- Проектируйте под частичные отказы и observability.
- Версионируйте API с учётом совместимости.