微服务设计原则

更新时间:
2024-03-26
下载文档

微服务设计原则

本节介绍 VSOA 微服务开发的设计原则,开发时遵循此原则可以大大减少重复代码,并降低事件管理的复杂性。

URL 资源标识

  • URL 应带有版本前缀

    说明:例如在 URL 中使用 /v1/…… 的标识,URL 资源标识详情见 了解 VSOA
    优势:在后期升级维护时可以做到向前兼容。

  • URL 与资源有唯一对应关系

    说明:不论使用何种访问方式(RPC发布与订阅Datagram)、何种通道(正常或 quick),一个 URL 都对应一个唯一资源。
    优势:使得 URL 与资源具有唯一对应关系,便于功能维护,减少复杂度。

微服务框架

  • 使用客户端机器人

    说明:如果微服务里依赖其他服务,尽量使用客户端机器人,详情见 客户端机器人
    优势:减少代码量的同时可以由 VSOA 自动进行客户端与服务端的连接管理。

  • 使用 VSOA 定时器

    说明:VSOA 提供了专门的定时器功能,在 VSOA 微服务开发中应使用 VSOA 定时器,详情见 VSOA Timer
    优势:减少定时事件开发的复杂度。

通信协议

  • 快速周期性数据使用 quick 通道

    说明:对于快速周期性数据应当使用 quick 通道进行数据传输,如温度传感器采集的数据,可以使用 quick publish 或 quick datagram 进行数据传输。同时,如果客户端向服务端发送快速更新的数据请求,可以不使用 RPC,改用 quick 通道的 datagram 接口送达至服务端。
    优势:quick 通道基于 UDP 方式,可以避免普通通道使用 TCP 因丢包后恢复时间较长而导致的实时性下降问题。

  • VSOA payload 同时带载 param 和 data

    说明:VSOA 的 payload 可同时带载 param 和 data,param 推荐格式为 JSON,data 可以是普通二进制数据,也可以使用 protobuf 等其他格式的载荷。
    优势:不同数据类型使用不同的带载方式可以提高数据吞吐效率。

微服务安全

  • 内部私有网络使用明文 VSOA 协议

    说明:内部私有网络使用明文 VSOA 协议,不使用证书安全连接;对外服务通过 JavaScript 或 Java 编写的 VSOA 应用网关或 VSOA 反向代理实现 TLS 集中加密通信,代理服务配置安全证书,域与域之间通过代理服务建立安全链接。
    优势:可以加速各个容器间的通信速度,局域网内保障通信效率,实时性高,域间通信又能保障安全。

文档内容是否对您有所帮助?
有帮助
没帮助