Хорошо спроектированный микросервис работает независимо и знает о других сервисах по минимуму. Изменения в одном микросервисе не должны требовать изменений в других, что позволяет командам деплоить и обновлять сервисы без каскадных сбоев по всей системе.
Микросервисы поддерживают сильную связность, группируя связанный функционал вместе. Каждый сервис инкапсулирует конкретный набор поведения, позволяя независимо разрабатывать фичи и снижая сложность в отдельных сервисах.
Каждый микросервис определяет чёткий ограниченный контекст в архитектуре твоего домена. Сервисы взаимодействуют с внешним миром через хорошо определённые интерфейсы, устанавливая чёткие границы, которые не дают сервисам запутаться во внутренней логике друг друга.
Каждый микросервис должен решать конкретную бизнес-задачу, которая способствует целям организации. Вместо того чтобы организовывать сервисы по техническим слоям, их структурируют вокруг конкретных бизнес-возможностей — это делает их более понятными и ценными для стейкхолдеров.
Эти четыре характеристики работают вместе, создавая надёжную архитектуру микросервисов:
Придерживаясь этих принципов, организации получают системы, которые проще обслуживать, быстрее деплоить и легче масштабировать независимо друг от друга в зависимости от нагрузки.
Слабая связанность в микросервисах означает, что развёртывание обновлений одного сервиса не должно вызывать каскадные отказы или требовать изменений в зависимых сервисах.
Новый — ещё не проверен сообществом
Вы