Встречается на 12% собеседований по C#

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

Плюсы:

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

Минусы:

  • Сложность – требуется оркестрация, мониторинг, логирование.
  • Накладные расходы – межсервисное взаимодействие (HTTP/gRPC) медленнее, чем in-process вызовы.
  • Согласованность данных – сложнее обеспечить транзакции (нужен паттерн Saga).
  • DevOps-нагрузка – требуется инфраструктура для CI/CD, балансировки, обнаружения сервисов.

Пример:

csharp
// Сервис заказов (OrderService) вызывает InventoryService через HTTP  
public async Task<bool> PlaceOrder(Order order)  
{  
    var httpClient = new HttpClient();  
    var response = await httpClient.PostAsJsonAsync(  
        "http://inventory-service/api/reserve",  
        new { ProductId = order.ProductId, Quantity = order.Quantity }  
    );  
    return response.IsSuccessStatusCode;  
}  

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

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

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