kessoku-di
使用并行编译期依赖注入加速 Go 应用程序启动。优化缓慢服务、替换 google/wire,并使用 kessoku 管理异步依赖。
简介
Kessoku 是一款高效能、编译期的依赖注入框架,专为需要大幅缩短应用启动时间的 Go 开发人员设计。通过同时执行独立的提供者(providers),它超越了像 google/wire 这类工具的顺序限制,非常适合微服务和云原生应用,特别是那些受限于繁重的初始化链或 Serverless 冷启动延迟的项目。该框架生成类型安全且经过优化的代码,消除了执行期反射,同时保持清晰的架构边界。无论您是正在迁移现有项目,还是正在构建需要复杂异步初始化的新服务,Kessoku 都提供强大的 API 来有效串接依赖。在管理多个数据库连接、远程 API 客户端或缓存预热任务时,它尤为显著,因为这些任务可以并行执行,而非僵化的逐一执行。
-
自动并行执行独立提供者,以最小化总启动延迟。
-
通过 go:generate 和 go tool kessoku 在编译期生成高效的 Go 代码,确保零执行期反射或性能损耗。
-
无缝处理依赖图解析,包含错误传播与资源清理函数,这些会自动集成到生成的注入器中。
-
提供从 google/wire 迁移的路径,允许结构化转换现有的 sets 和 bindings。
-
支持接口绑定、值注入以及结构体字段展开,以应对各种构造函数签名。
-
使用 kessoku.Inject 定义主要应用程序注入器,生成标准 Go 函数。
-
将提供者包装在 kessoku.Async 中,为昂贵的初始化任务开启并行执行路径。
-
使用 kessoku.Set 组织复杂的依赖树,提高大型服务实现中的代码模块化与可维护性。
-
请注意,并行执行需要生成的函数使用 context.Context,确保您的应用程序支持上下文传播。
-
参考内部文档和提供的迁移工具,将旧有的 wireinject 构建标签自动转换为基于 kessoku 的生成方式。
-
可通过内置的 CLI 工具进行故障排查与调试,帮助识别依赖循环或生成错误。
仓库统计
- Star 数
- 132
- Fork 数
- 1
- Open Issue 数
- 7
- 主要语言
- Go
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年5月3日 18:45