总控架构决定日志.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/project/sr/sc/总控架构决定日志/