背景
有个漂亮的小学妹要写毕设, 找我帮忙搭个架子, 于是…
它来了它来了, 分享下自己写的Go后端项目, 封装了一些(db, socket等)常用的组件, 开箱即用, 纵享丝滑!
任何问题, 建议或者需求都欢迎提 issues, 有问必回! 感谢star!
github地址
gitee地址
项目结构
参考 Go程序布局
├── build // 打包/集成 | ├── app // 应用程序名 | | ├── Dockerfile // 集成的配置/脚本 ├── cmd // 可执行目录 | ├── app // 应用程序名 | | ├── main.go // 入口文件 ├── configs // 配置文件 | ├── config.json ├── doc // 项目文档 ├── example // 示例目录 ├── internal // 私有程序 | ├── api // 接口 | ├── config // 配置文件解析 | ├── cache // 缓存相关 | ├── constvar // 常量 | ├── domain // 表结构 | └── monitor // 监控定时服务相关 | └── rpc // rpc | └── utils // 公用方法(不能调用任何内部对象) ├── logs // 日志存放 ├── pkg // 安全导入的包(可以被任何项目直接导入使用) | ├── clickhouse // ck组件 | ├── email // 邮件组件 | ├── es // es组件 | ├── httpcode // 请求处理组件 | ├── jwt // jwt组件 | ├── logging // 日志组件 | ├── mongo // mongo组件 | └── mq // mq组件 | └── mysql // mysql组件 | └── redis // redis组件 | └── safego // 安全运行组件 | └── ws // socket组件 ├── .dockerignore // docker忽略文件 ├── .gitignore // git忽略文件 ├── go.mod // 包管理 ├── README.md
优雅的代码
技术选型
web框架
rpc
socket
mysql
clickhouse
es
mongo
redis
mq
log
config
启动方式
命令行启动
go run cmd/app/main.go
Docker启动
docker build -f build/app/Dockerfile -t fly:v1.0.0 . docker run --rm -it -p 8888:8888 -p 9999:9999 --name fly fly:v1.0.0