UML-диаграмма зависимости микросервисов

Какая диаграмма лучше всего объясняет, как 9X_dependencies микросервисы зависят друг от друга? Например, следующий 9X_uml случай:

Пользовательская служба предоставляет 9X_dependency конечную точку user_detail;

Сервис продукта предоставляет 9X_component-diagram конечную точку product_item_detail;

Служба заказов предоставляет 9X_endpoint конечную точку make_order.

Пользователь выбирает товар 9X_dependencies и размещает заказ.

Как это объясняется с 9X_uml помощью uml?

Я планировал использовать диаграмму 9X_dependencies компонентов, но не понимаю, как объяснить 9X_uml-modelling интерфейсы каждой службы и как они соотносятся 9X_component-diagram с интерфейсами других служб.

7
0
1
Общее количество ответов: 1

Ответ #1

Ответ на вопрос: UML-диаграмма зависимости микросервисов

Microservices - это независимо развертываемые компоненты. Поэтому 9X_uml-modelling использование component diagram кажется очень хорошей интуицией:

Он 9X_dependencies определяет Компонент как модульную единицу 9X_microservices с четко определенными интерфейсами, которую 9X_component-diagram можно заменить в своей среде. Концепция 9X_microservices компонентов относится к области разработки 9X_microservices на основе компонентов и структурирования 9X_uml-modeling систем на основе компонентов (...).

На диаграмме 9X_endpoints компонентов каждый микросервис будет отображаться 9X_uml-modelling как отдельный component со стереотипом «service». Поскольку 9X_dependency микросервисы не просто реализуют интерфейс, но 9X_microservices и предоставляют его через конечную точку, вам 9X_endpoints следует использовать ports:

Порты представляют 9X_uml-modelling собой точки взаимодействия, через которые 9X_dependency EncapsulatedClassifier взаимодействует со 9X_component-diagram своей средой.

Предоставленные или требуемые 9X_endpoints интерфейсы (леденцы и розетки) будут подключены 9X_uml-modelling к портам. Порт имеет значение: без порта 9X_endpoints леденцы на палочке и сокеты могут также 9X_endpoint означать realisation или «use» dependency для классификатора интерфейса 9X_endpoints в большом монолите!

В итоге ваша диаграмма 9X_dependencies может выглядеть примерно так: 9X_UML-диаграмма зависимости микросервисов_endpoints

Дополнительные мысли:

  • Если вы сомневаетесь 9X_uml-modeling между стереотипом «service» и «subsystem», вы можете подумать 9X_uml-modelling о создании собственного профиля UML, который 9X_component-diagram определяет стереотип «microservice».

  • Если на какой-либо 9X_dependencies сложной диаграмме вы не хотите отображать 9X_endpoint детали конечных точек службы, вы можете 9X_component-diagram просто использовать коннектор сборки без 9X_dependency сокета / леденца на палочке, за исключением 9X_endpoint тех мест, где вы хотите установить фокус.

  • Точно 9X_uml-modelling так же, если вас в основном интересует зависимость, вы 9X_dependencies можете просто показать компонент и его отношение 9X_dependency зависимости (поскольку компоненты являются 9X_dependencies классификаторами).

  • Если вы думаете о микросервисах, вы 9X_uml-modelling неизбежно подумаете о scaling strategies, например о том, что 9X_endpoint несколько экземпляров одной и той же службы 9X_uml-modeling работают на нескольких контейнерах / серверах 9X_dependencies или несколько экземпляров одного и того 9X_endpoint же микросервиса разделяют данные. . Речь 9X_uml-modeling идет о сценариях развертывания компонентов. Затем 9X_dependencies вы можете рассмотреть deployment diagrams. Но это выходит далеко 9X_uml-modeling за рамки вашего вопроса.

21
0