提供一个简单易用的Golang服务端脚手架,该项目尽可能的包含所有的模块,如果不需要某些模块可自行删除
- 【新建git仓库】以此项目为模板
- 【rename project】执行命令 make rename MOD={new_name}
- 【编译】 make
- 【生成di】 make wire
- 【生成pb】 make pb
- 【清理pb】 make pb-clean
- http 在线profile,metric,health check。所以这个模块是必须的
- grpc 微服务
- mq consumer worker 异步处理任务
- cron 定时任务 (未支持)
- db gorm
- cache redis
- metric prometheus
- trace jaeger
- logger zap
- 读取环境变量ENV_CLUSTER
- 默认读取 config/dev.yaml
| - cmd 程序入口
| - project/main.go 程序入口
| - docs API文档
| - config 配置文件
| - internal 内部代码包
| - project
| - server 服务注册
| - biz 业务层
| - dao 转换层
| - model 数据层
| - pkg 内部工具包
| - pkg 可对外的工具包
依赖中间件:
- mysql
- redis
- kafka
- etcd
- 中间件实例部署 rely/docker-compose.yaml