用 Kratos 搭建金融数据服务的实践笔记
记录从零搭建 finance-kratos 服务的过程:项目分层、proto 定义、配置管理与踩过的坑。
最近把金融数据服务从零迁到了 Kratos 框架上。选择 Kratos 主要看中它清晰的分层约定:api 层放 proto 定义,internal 下按 biz / data / service 分层,依赖方向单一,团队协作时不容易把业务逻辑写散。
proto 先行的开发方式一开始不太习惯,但好处很快显现:接口契约明确,生成的代码天然带参数校验骨架,前后端联调基本不需要口头对齐字段。配置管理用 protobuf 定义 conf,配合本地 yaml,环境切换只改一个文件。
踩过的坑主要有两个:一是 wire 依赖注入在新增 provider 后忘记重新生成,报错信息不直观;二是中间件顺序影响链路追踪的 span 归属,建议把 tracing 放在最外层。整体而言,对于需要长期维护的中型服务,这套约定的收益远大于学习成本。