[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-mikroservisy-kakie-nedostatki-u-mikroservisnoy-arkhitektury":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},817,"kakie-nedostatki-u-mikroservisnoy-arkhitektury",23,"mikroservisy","Микросервисы","🔗","Какие недостатки у микросервисной архитектуры?","Главные недостатки микросервисов — это сложность распределённой системы: сетевые задержки, согласованность данных, операционная нагрузка и сложность отладки.\n\n1. Сложность распределённой системы — приходится решать проблемы сетевых задержек, отказов сети, согласованности данных, что гораздо сложнее, чем вызов метода в монолите.\n\n2. Сложность управления данными — невозможно использовать обычные ACID-транзакции между сервисами. Приходится применять паттерн Saga, eventual consistency, что значительно усложняет логику.\n\n3. Операционная сложность — необходимо организовать мониторинг, логирование, трассировку для десятков или сотен сервисов. Нужна зрелая DevOps-культура и CI\u002FCD.\n\n4. Сетевые задержки — вызов между сервисами по сети значительно медленнее вызова метода в рамках одного процесса.\n\n5. Сложность тестирования — интеграционное и E2E-тестирование становятся гораздо сложнее. Необходимо использовать contract testing (Pact), testcontainers, моки внешних сервисов.\n\n6. Дублирование кода — некоторые общие функции (например, валидация, маппинг DTO) приходится дублировать в разных сервисах или выносить в shared-библиотеки, что создаёт связность.\n\n7. Сложность отладки — один бизнес-процесс может проходить через 5-10 сервисов, и для отладки нужны инструменты распределённой трассировки.\n\n8. Overhead на межсервисное взаимодействие — сериализация\u002Fдесериализация данных, HTTP\u002FgRPC-вызовы, брокеры сообщений добавляют накладные расходы.\n\n9. Проблема «распределённого монолита» — при неправильной декомпозиции можно получить систему с недостатками и монолита, и микросервисов одновременно.\n\n> **На собеседовании:** знание недостатков ценится даже выше, чем знание преимуществ — оно показывает реальный опыт. Частая ошибка — не упомянуть distributed monolith и проблему eventual consistency.","","junior",[15],"microservices",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":20,"featuredSnippetReady":23},"Какие преимущества у микросервисной архитектуры? — Gymterview","Основные преимущества микросервисов связаны с независимостью компонентов: независимое развёртывание, масштабирование, разработка и выбор технологий.","Основные преимущества микросервисов связаны с независимостью компонентов: независимое развёртывание, масштабирование, ра",[15,13],true]