Bry*_*Gom 3 dependencies uml endpoint component-diagram microservices
解释微服务如何相互依赖的最佳图表是什么?例如,以下案例:
用户服务暴露
user_detail端点;产品服务暴露
product_item_detail端点;排序服务公开
make_order端点。用户选择产品并下订单。
这如何使用 uml 解释?
我曾计划使用组件图,但我不明白如何解释每个服务的接口以及它们与其他服务的接口之间的关系。
Chr*_*phe 13
微服务是可独立部署的组件。因此,使用组件图出现一个非常好的直觉:
它将组件指定为模块化单元,具有可在其环境中替换的明确定义的接口。组件概念涉及基于组件的开发和基于组件的系统结构 (...) 领域。
在组件图中的每个微服务将被示为单独的部件与原型«service»。由于微服务不只是实现一个接口,而是通过一个端点公开它,你应该使用端口:
端口表示 EncapsulatedClassifier 与其环境通信的交互点。
提供或需要的接口(棒棒糖和套接字)将连接到端口。端口决定了:如果没有端口,棒棒糖和套接字也可能意味着对大型单体中的接口分类器的实现或«use»依赖!
如果您在«service»和«subsystem»构造型之间犹豫不决,您可以考虑创建自己的 UML 配置文件来定义«microservice»构造型。
如果在一些复杂的图表中你不想显示服务端点的细节,你可以只使用没有套接字/棒棒糖的组装连接器,除非你想把焦点放在那里。
同样,如果您主要对依赖感兴趣,您可以只显示组件及其依赖关系(因为组件是分类器)。
如果您想到微服务,您将不可避免地想到扩展策略,例如在多个容器/服务器上运行同一服务的多个实例,或者对同一微服务的多个实例进行数据分区。这种虽然是关于组件的部署场景。然后您可以考虑部署图。但这远远超出了你的问题。