开始理解灵珑
灵珑是一个 JVM 单进程运行时治理框架。它把可独立发布的业务单元称为 灵元,把负责安装、路由、授权、卸载和观测的主控运行时称为 灵核。
灵珑的当前版本是 0.3.0。
灵珑致力于解决
灵珑的核心目标是把变化控制在灵元的边界内:
- 一个灵元由一个独立
LingClassLoader加载。 - 同一灵元可以部署多个版本。
- 请求进入统一调用流水线,先经过状态、路由、弹性治理、权限和隔离,再进入真实方法。
- 旧版本进入停止和死亡队列后,框架会排空请求、切断引用、关闭 ClassLoader、清理资源,并做泄漏检测。
- 灵珑提供了Dashboard,可查看灵元、版本、权限、调用治理、健康指标、生命周期时间线和卸载报告。
通过这些能力,灵珑让长期运行的 JVM 体系在具备热加载能力的同时,可以将旧版本彻底卸载。
核心概念
| 名称 | 源码中对应的对象 | 作用 |
|---|---|---|
| 灵元 | LingDefinition、LingInstance | 一个可安装、可路由、可卸载的业务运行单元 |
| 灵核 | Starter 或 Native runtime 装配出的核心 Bean | 管理灵元生命周期、权限、路由、资源和观测 |
| 灵元定义 | ling.yml | 声明 id、version、入口类、治理策略和扩展属性 |
| 运行时 | LingRuntime | 一个 lingId 的多版本聚合体 |
| 实例池 | InstancePool | 管理活跃实例、默认实例和死亡队列 |
| 调用流水线 | InvocationPipelineEngine | 每次 RPC/Web 治理都经过的责任链 |
| 能力权限 | Capabilities 与 AccessType | 控制 SQL、缓存、IPC 等资源访问 |
已有实现
灵珑已经落地的重点能力包括:Spring Boot 2/3 Starter、Native 运行时、灵元发现、ClassLoader 隔离、双层状态机、灰度路由、限流/熔断、线程隔离、SQL 与缓存权限代理、Dashboard 和 OpenAPI 注入。