Встречается на собеседованиях • сегодня

В чем разница между монолитной, сервисной и микросервисной архитектурой

Монолитная архитектура — единое приложение, где все компоненты (UI, бизнес-логика, БД) тесно связаны. Плюсы: простота разработки и деплоя. Минусы: сложность масштабирования и обновлений. **Пример:** ```java // Монолит: один WAR-файл с контроллерами, сервисами и репозиториями @Controller public class OrderController { @Autowired private OrderService orderService; } ``` Сервис-ориентированная архитектура (SOA) — приложение разбито на сервисы (например, по бизнес-функциям), которые общаются через API (часто SOAP/ESB). Сервисы могут быть развернуты отдельно, но могут использовать общую БД. Микросервисы — частный случай SOA, где сервисы: - Полностью независимы (своя БД, код, деплой). - Общаются через легковесные протоколы (HTTP/REST, gRPC). - Масштабируются горизонтально. **Пример микросервиса:** ```java // OrderService (отдельное приложение) @RestController public class OrderController { @GetMapping("/orders") public List getOrders() { ... } } ``` **Ключевые отличия:** - Монолит: простота vs сложность масштабирования. - SOA: гибкость, но сложность интеграции (ESB). - Микросервисы: масштабируемость + независимость, но overhead на orchestration (Kubernetes, мониторинг).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы