AdamTyn / at-kratos

嗯,一个更适合开箱即用的 kratos-layout

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

at-kratos

嗯,一个更适合开箱即用的 kratos-layout

  1. 环境

    Golang v1.17+
    Apollo
    数据库
    Redis
  2. 文件结构梳理

    api/... # 提供grpc服务的proto文件
    cmd/at-kratos/... # 程序入口文件
    internal/biz/...
    internal/conf/... # (解析apollo)配置的proto文件
    internal/data/...
    internal/data/dao/...
    internal/data/entity/...
    internal/pkg/cache/... # 缓存组件
    internal/pkg/database/... # 数据库组件
    internal/pkg/grpc_client/... # 调用外部的grpc客户端
    internal/pkg/http_client/... # 调用外部的http客户端
    internal/pkg/util/... # 通用组件
    internal/server/... # 注册grpc服务
    internal/service/...
    migrations/v1/... # 数据库迁移
    pkg/... # 可以暴露grpc服务的client
    tests/v1/... # 单元测试
    third_party/... # protobuf的官方依赖
    Dockerfile
    Makefile # 构建指令
    README.md
    ......
  3. 构建指令详解

    • 生成依赖注入相关文件

      make generate
    • 编译 internal/conf/conf.proto 文件

      make config
    • 编译 grpc服务.proto 文件

      make api
    • 编译调用外部的 grpc客户端.proto 文件

      make grpc-client
    • 编译调用外部的 http客户端.proto 文件

      make http-client
    • 编译打包

      make build
  4. 感谢

  5. 联系方式

About

嗯,一个更适合开箱即用的 kratos-layout

License:MIT License


Languages

Language:Go 88.3%Language:Makefile 9.5%Language:Dockerfile 2.2%