Встречается на 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
интервью вопросы и ответы