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
最后编辑:聂维 更新时间:2024-12-23 11:22