设计理念
Lynx 并不是想把每一种基础设施产品都再套进一层统一的大抽象里。它真正的设计目标更窄,也更务实:把微服务项目里反复出现的基础设施装配工作,收敛成一套共享的运行时模型。
这也是为什么当前代码库会把重点放在插件注册、依赖感知启动、运行时资源所有权,以及受管理的生命周期 hook 上。
核心设计取舍
理解当前 Lynx,最有效的是先抓住这几个设计选择:
- plugin-first,但不是 SDK-first:插件的目标不是只暴露一个 client constructor,而是参与 runtime 装配
- 生命周期由 runtime 持有:初始化、启动任务、清理、健康检查都属于模型的一部分
- typed registration,而不是临时发现:官方插件通过
factory.GlobalTypedFactory()以明确的插件名和配置前缀完成注册 - 配置驱动准备,而不是靠魔法生效:配置决定 Lynx 要准备什么,但只有配置本身不会产生能力
- 业务代码不负责基础设施装配:
service、biz、data层应消费准备好的能力,而不是自己再拼装一遍