Встречается на собеседованиях • сегодня
В чем разница между монолитной, сервисной и микросервисной архитектурой
Монолитная архитектура — единое приложение, где все компоненты (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, мониторинг).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы