关系 - Archyl Docs

了解如何创建和设置架构元素之间关系的样式

关系

关系展示架构元素之间如何通信、依赖或交互。它们是架构文档的关键组成部分。

创建关系

拖放

  1. 将鼠标悬停在源元素上
  2. 从连接点(小圆圈)点击并拖动
  3. 放到目标元素上
  4. 关系将自动创建

右键菜单

  1. 右键点击源元素
  2. 选择"创建关系"
  3. 点击目标元素

关系属性

标签

标签描述关系所代表的含义:

  • "发送订单到"
  • "读取数据从"
  • "使用…进行认证"
  • "部署到"

最佳实践

  • 使用主动语态
  • 具体说明流动的内容
  • 保持简洁

技术

可选择指定技术或协议:

  • "REST/HTTPS"
  • "gRPC"
  • "AMQP"
  • "SQL/TCP"
  • "WebSocket"

方向

关系的方向由箭头表示:

  • 单向:单向通信(最常见)
  • 双向:双向通信

关系样式

线条样式

  • 实线:直接依赖或通信
  • 虚线:可选或异步通信

颜色

使用颜色对关系进行分类:

  • 蓝色表示数据流
  • 绿色表示成功路径
  • 红色表示错误处理
  • 灰色表示可选

曲线与直线

  • 曲线:适合复杂图表,避免重叠
  • 直线:适合简单图表,更清晰

常见模式

请求-响应

Web App --"发起 API 调用 [REST/HTTPS]"--> API Server

事件驱动

Order Service --"发布事件 [AMQP]"--> Message Queue
Notification Service <--"订阅事件 [AMQP]"-- Message Queue

数据库访问

API Server --"读写数据 [SQL/TCP]"--> Database

外部 API

Payment Service --"处理支付 [REST/HTTPS]"--> Stripe API

跨层次关系

在组件层次查看时,关系可以跨越不同的容器:

  • 组件可以连接到系统其他部分的容器
  • 这有助于在不离开当前视图的情况下展示完整画面

技巧

不要过度连接

不是每个可能的关系都需要展示。重点关注:

  • 主要数据流
  • 重要的依赖关系
  • 不明显的连接

对相关关系进行分组

如果多个元素以相同方式通信,考虑:

  • 使用中间件(API 网关、消息队列)
  • 使用叠加层进行分组

保持标签可读

  • 调整标签位置避免重叠
  • 使用较短的标签使图表更清晰
  • 将详细信息放在元素描述中