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 с учётом совместимости.