跳到主要内容

Kernel 能力分层总览

这组文档按照 github.com/aisphereio/kernel 的真实代码组织,而不是按照愿景或产品口号组织。

Kernel 的目标不是做一个薄脚手架,而是把微服务开发中反复出现的基础能力沉到框架:错误协议、日志、配置、认证、授权、审计、请求元信息、服务装配、Gateway 路由、代码生成和部署路由生成。

分层模型

文档阅读顺序

顺序文章解决的问题
1基础能力:errorx / logx / configx框架如何统一错误、日志、配置和运行时观测基础
2身份与权限:authn / authz / accessx / iamx框架如何隐藏 Casdoor/SpiceDB 等实现细节,提供 provider-neutral 接口
3服务装配:serverx业务服务如何由生成的 ServiceModule 接入 HTTP、gRPC、AuthN、AuthZ、DB 和 migration
4Gateway:gatewayx服务如何发布 Gateway Manifest,Gateway 如何过滤公开/内部/运维路由
5Proto 与生成器proto contract 如何驱动 request resolver、access resolver、gateway manifest 和 deploy manifest
6业务侧使用路径基于 kernel new 的生成项目应该如何使用这些能力

当前主线边界

Kernel 代码里已经把能力分成三类:

类型说明示例
Runtime API业务服务和生成代码可以依赖errorxlogxconfigxserverxgatewayxauthnauthzaccessx
Framework assembly/helper框架内部装配层,业务一般不直接拼装middleware/*grpcxrestxservicecontextx
Tooling only只在生成/检查阶段使用,业务禁止 importcmd/kernelcmd/protoc-gen-*cmd/buf-check-*

一句话理解

Kernel 的主线是:

proto contract
-> buf-check-aisphere
-> protoc generators
-> requestx.Info / accessx.Check / gatewayx.Manifest / serverx.ServiceModule
-> serverx/autowire
-> business service
-> Gateway route + deploy HTTPRoute manifests

也就是说:业务服务维护契约和领域逻辑,框架负责把契约变成运行时装配和部署材料。

注意事项

validation/* 当前仍在 Kernel 主模块中承载跨模块场景测试,但它不是 runtime API。业务代码不要 import validation/*

securityx 是安全配置到运行时材料的构造层,不是新的中间件装配入口。服务端中间件装配仍应统一通过 serverx / middleware/autowire