Встречается на 7% собеседований по Java

Какие плюсы и минусы микросервиса

Плюсы:

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

Минусы:

  • Сложность – требуется оркестрация, мониторинг, логирование.
  • Накладные расходы – сетевые вызовы вместо локальных, сериализация.
  • Согласованность данных – сложнее поддерживать транзакции (Saga, CQRS).
  • Тестирование – сложнее эмулировать окружение.

Пример:

java
// Микросервис UserService
@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private OrderServiceClient orderService; // Feign/RestTemplate
    
    @GetMapping("/{id}/orders")
    public List<Order> getUserOrders(@PathVariable Long id) {
        return orderService.getOrdersByUserId(id); // Межсервисный вызов
    }
}

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

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

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