1 前言

在工厂部署天舟云服务,受限于资源和部署便捷度要求,因此要求天舟云支持单体部署,这意味着对天舟云代码和模块要求更高,需要严格的实现:单一职责和业务边界,针对此要求做出调整和规范输出。

2 现状

2.1 现状模块总览

2.2 现状模块说明

模块 说明 要求
common 公共模块:公共工具类、常量枚举、公共实体类 包依赖只能是偏工具常量类等,严禁中间件复杂业务组件
basis 北向网关,对外访问防腐层:中间件、外部接口、定时调度等 与核心领域业务进行解耦下沉
interfaces 领域层抽象接口防腐层:领域层实体类、抽象接口 可依赖common层等常量公共模块
core 领域层实现:包含了仓储层,核心业务逻辑,外部下游流量调用 可依赖basis、下游流量防腐层
appcase 业务应用层:业务层实体类、抽象接口 可依赖common层等常量公共模块
application 业务应用实现:主要业务逻辑编排,调用核心层业务 依赖interfaces和appcase,不可直接调用核心层
api 南向网关rest接口层:业务接口、拦截器等web相关 依赖appcase,主要是提供代码不是强制启用
configuration 项目配置层:web配置、seata配置等 依赖api,无业务逻辑,主要是项目启动配置
starter 启动器:聚合各个模块、插件集成、第三方组件等 模块依赖聚合在此实现

3 最新2.7

3.1 2.7架构

3.2 2.7模块总览

3.3 新增模块说明

模块 说明 缘由 要求
invoke 北向网关防腐层:实体类、抽象接口 是对basis更精细的拆分解耦,以支持用户自定义覆盖调用 可依赖common层等常量公共模块
ES 搜索引擎ES方式实现层 插件化可选择性使用,解耦,支持替换 只是ES相关的,功能聚焦
JOB 定时任务调度实现层 插件化实现,可选择性集成
props 脚本配置模块 将原有启动器脚本配置迁移共用,不耦合启动器 只能是脚本和固定配置(国际化等)
作者:聂维  创建时间:2024-09-14 17:12
最后编辑:聂维  更新时间:2024-12-23 11:22