Получи случайную криптовалюту за регистрацию!

#архитектура Несколько критериев, когда стоит выделять часть | Yet another SA

#архитектура
Несколько критериев, когда стоит выделять часть системы в отдельный микросервис компонент.
https://tanzu.vmware.com/content/blog/should-that-be-a-microservice-keep-these-six-factors-in-mind

Multiple Rates of Change
Когда частота изменений в нескольких компонентах существенно отличается.

Independent Life Cycles
Возникает потребность в отдельной кодовой базе, подходах к тестированию, ci/cd пайплайне.

Independent Scalability
Компоненты имеют разные требования по производительности и сценарии масштабирования. Например, админка мерчанта и ядро процессинга.

Isolated Failure
Когда нужно защитить часть системы от отказов со стороны внешних или внутренних компонентов. Например, научиться выживать при недоступности платежного сервиса.

Simplify Interactions with External Dependencies
Выделение компонентов для взаимодействия с внешними сервисами или системами. Например, чтобы уметь безболезненно переключиться на другой платежный сервис.
Так и не понял, чем принципиально отличается от предыдущего - выглядит как частный случай.

The Freedom to Choose the Right Tech for the Job
Если нужно использовать другой технологический стек для решения какой-то задачи.