Встречается на собеседованиях • сегодня
Какие плюсы и минусы микросервисной архитектуры
Плюсы:
- Масштабируемость – можно масштабировать отдельные сервисы под нагрузку.
- Гибкость – разные сервисы можно писать на разных языках/технологиях.
- Независимость – обновление одного сервиса не требует переделки всей системы.
- Отказоустойчивость – падение одного сервиса не приводит к краху всей системы.
Минусы:
- Сложность – требуется оркестрация, мониторинг, логирование.
- Задержки – межсервисные вызовы (HTTP/gRPC) медленнее локальных.
- Согласованность данных – сложно обеспечить транзакционность (нужен Saga, CQRS).
- DevOps-нагрузка – нужна автоматизация деплоя, CI/CD.
Пример:
java
// Микросервис UserService
@RestController
public class UserController {
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {
return userRepository.findById(id);
}
}java
// Микросервис OrderService вызывает UserService через Feign
@FeignClient(name = "user-service")
public interface UserClient {
@GetMapping("/users/{id}")
User getUser(@PathVariable Long id);
}как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы
