Микросервисы

10 вопросов

Микросервисная архитектура: Service Discovery, API Gateway, Event-driven, CQRS, Saga, идемпотентность, Distributed Tracing. Паттерны взаимодействия и координации сервисов.

1 Чем микросервисная архитектура принципиально отличается от монолита? 🟢 Лёгкий
Ответ: B) Система разбита на независимые сервисы с отдельным деплоем и своими данными

Микросервисы - это набор независимых сервисов: отдельный деплой, свои БД, общение по сети. Монолит - одно приложение и одна БД; масштабирование и изменения затрагивают всё целиком.

Подробнее →
2 Зачем нужен API Gateway в микросервисной архитектуре? 🟡 Средний
Ответ: B) Единая точка входа: маршрутизация, аутентификация, лимиты, агрегация ответов

API Gateway - единая точка входа для клиентов: маршрутизация запросов к нужному сервису, аутентификация/авторизация, rate limiting, иногда агрегация нескольких вызовов в один ответ.

Подробнее →
3 Что такое event-driven архитектура в контексте микросервисов? 🟡 Средний
Ответ: B) Сервисы обмениваются сообщениями через брокер (Kafka, RabbitMQ); производитель не знает потребителей

Event-driven: сервисы публикуют события в брокер сообщений, другие подписываются и реагируют. Слабая связанность: производитель не знает, кто потребит событие.

Подробнее →
4 Что такое distributed tracing и зачем он нужен? 🟡 Средний
Ответ: B) Сквозной идентификатор запроса (trace ID) и span'ы по сервисам для отладки и замера латентности по цепочке вызовов

Distributed tracing - один trace ID проходит через все сервисы; каждый сервис создаёт span (родитель-потомок). В системах вроде Jaeger/Zipkin видна цепочка вызовов и время на каждом шаге.

Подробнее →
5 Как сервисы обычно находят друг друга (service discovery)? 🟡 Средний
Ответ: B) Через реестр (Consul, etcd, Kubernetes DNS), откуда получают актуальные адреса инстансов

Service discovery - реестр, куда сервисы регистрируются и откуда клиенты получают список живых инстансов.

Подробнее →
6 Зачем нужна идемпотентность в API микросервисов и как ее реализовать? 🟡 Средний
Ответ: B) Чтобы повторный одинаковый запрос не менял результат; ключ идемпотентности в заголовке

Идемпотентность - повторный запрос с теми же данными дает тот же эффект. Реализация через Idempotency-Key.

Подробнее →
7 Что утверждает CAP-теорема о распределенных системах? 🟡 Средний
Ответ: B) Из трех свойств (Consistency, Availability, Partition tolerance) в распределенной системе можно гарантировать только два одновременно

CAP: при сетевом разделении (Partition) нужно выбирать между согласованностью (Consistency) и доступностью (Availability). CP-системы (PostgreSQL) жертвуют доступностью, AP-системы (Cassandra) - согласованностью.

Подробнее →
8 Какие основные преимущества и недостатки микросервисной архитектуры по сравнению с монолитом? 🟡 Средний
Ответ: B) Преимущества: независимый деплой и масштабирование; недостатки: сложность операций и распределенная консистентность

Микросервисы дают независимый деплой, масштабирование отдельных частей, технологическое разнообразие. Но усложняют операции, отладку, консистентность данных и требуют зрелой инфраструктуры.

Подробнее →
9 Что такое CQRS в микросервисной архитектуре? 🔴 Сложный
Ответ: B) Разделение моделей и хранилищ для команд (запись) и запросов (чтение); часто с разными БД и проекциями

CQRS - Command Query Responsibility Segregation: отдельная модель и путь для записи (команды) и для чтения (запросы). Модели чтения могут быть денормализованы и храниться в отдельных БД или кэшах.

Подробнее →
10 Что такое паттерн Saga для координации транзакций между микросервисами? 🔴 Сложный
Ответ: B) Последовательность локальных транзакций с компенсирующими действиями при сбое

Saga - цепочка локальных транзакций в разных сервисах. При сбое выполняются компенсирующие транзакции (откат) в обратном порядке. Хореография (события) или оркестратор (центральный координатор).

Подробнее →
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.