🏗️ 架构设计
三层架构
核心层 (oss/) — 插件管理、事件总线、消息总线、配置系统、日志系统。框架的核心基础设施。
插件层 (store/) — 协议插件(HTTP/WS/TCP)、工具插件(依赖解析、存储、桥接)、中间件插件(熔断、热重载、生命周期)。
应用层 (data/) — 第三方插件(HTML 渲染、Web 工具包)+ 运行时数据(配置文件、共享存储)。
启动流程
- 加载
config.yaml→ Config 对象 - 初始化 Logger
- 创建 PluginManager,只加载
plugin-loader plugin-loader扫描store/目录,加载所有插件- 使用
dependency插件进行拓扑排序 - 按拓扑顺序 init() → start() 所有插件
- HTTP 服务器启动,注册路由
- 信号监听 → Ctrl+C 时优雅关闭(逆序 stop)
目录结构
FutureOSS/
├── oss/ # 核心框架
│ ├── cli.py # CLI 入口
│ ├── config/ # 配置加载
│ ├── logger/ # 日志系统
│ ├── plugin/ # 插件核心
│ │ ├── types.py # 类型定义
│ │ ├── loader.py # 动态加载器
│ │ ├── manager.py # 插件管理器
│ │ └── event_bus.py # 事件总线
│ └── server/ # HTTP 服务器
├── store/ # 本地插件仓库
│ └── @{FutureOSS}/ # 官方插件
└── data/ # 运行时数据