总控架构决定日志.md

版本信息

  • 版本信息:v1.3.0 2023/12/21 小歪
  • 项目描述:总控该系统是本项目开发的核心软件组件,它负责统筹管理各种引擎和插件的操作,确保系统整体运行的效率和安全性。

索引

编号 标题 简要描述

-

详细记录

总控引擎插件组件通信方向反转

  • 决定编号:1
  • 标题:总控引擎插件组件通信方向反转
  • 日期:2023/12/25
  • 状态:正在审议
  • 问题描述:总控、引擎管理配置通信链路中现状是 建立连接方向、数据流向 SC –> SE,而,客户场景中,引擎的连接方式不支持长期被动连接,所以需要将建立连接方向改变为 SE –> SC。
  • 决定内容:使用 grpc 双向流式通信建立连接并消息推送。其中 SE 的组件为客户端,SC 组件为服务端建立通信。具体查看附件
  • 替代方案:1. 长轮询(延迟高、占用资源高、性能差) 2. websocket(限制少出错几率更大、数据压缩流控特性支持更少) 3. 消息队列/发布订阅模型(复杂度高、团队目前没用过这种模型风险大) 4. http2.0 双向通信(限制少出错几率更大、数据压缩流控特性支持更少)
  • 原因和理由:grpc 更成熟,适用的场景更多,需要自己实现的功能更少,开发人员出错的概率更小。
  • 影响:1. 产品层面上重新定义引擎连接状态 2. 总控、引擎开发端口策略需改变 3. 引擎安装时需要更改相应逻辑 具体目标查看附件
  • 相关决定:可能有目前总控、引擎、插件组件通信链路过于繁杂的问题

附录

详细记录模板

  • 决定编号:唯一标识每个架构决定。
  • 标题:简洁描述决定的内容。
  • 日期:决定做出的日期。
  • 状态:例如,“已实施”、“正在审议”或“已废弃”。
  • 问题描述:描述决定解决的问题或需求。
  • 决定内容:具体说明做出的架构决定。
  • 替代方案:列出考虑过的其他方案,并解释为什么没有选择它们。
  • 原因和理由:解释为什么选择这个方案,包括技术、业务和其他考虑因素。
  • 影响:评估这个决定对项目的影响,包括正面和负面影响。
  • 相关决定:如果适用,指出与其他架构决定的关联。
  • 附件和参考资料
  • 审核批准人员名单

总控架构决定日志.md
https://abrance.github.io/2023/12/21/mdstorage/project/sr/sc/总控架构决定日志/
Author
xiaoy
Posted on
December 21, 2023
Licensed under