L2同学的golang运维开发框架

Go
工程说明
这是一个为技术服务部L2团队搭建的golang运维工具开发框架,采用gin+gorm+logrus,仿照springmvc的架构对业务进行分层:(通用日志配置在代码中耦合,尚未拆分)
- router负责路由映射,需要在main函数中进行注册
- controller层负责根据router层的路由分发,接受前端请求,调用service层进行业务处理
- service层只负责业务逻辑处理,如需操作数据库,可调用dao层,数据库事务等可在该层进行控制
- dao层负责数据库的curd操作,单一职责
- model层负责定义struct结构体(类比java的pojo或bean)
- utils负责定义通用的工具类
目录结构
├── config目录                       # 存放项目yaml配置的目录(如数据源的配置等)
├── controller目录                   # 路由控制器,只负责路由的接受处理
├── dao目录                          # 负责数据库的curd操作
├── datasource目录                   # 数据库初始化
├── logs目录                         # 程序日志目录(rotate日志)
├── model目录                        # 存放struct的目录
├── router目录                       # 路由模块定义的目录
├── service目录                      # 所有的业务逻辑在该目录定义
├── utils目录                        # 所有的通用工具类在此定义
├── go.mod                          # go mod tidy
└── main.go                         # 程序主入口

代码链路

router定义路由 ---> controller层定义路由的handler ---> 调用service层的业务逻辑 ---> 调用dao层的数据库curd ---> 依赖model层的数据库映射

config.yaml说明

待补充
启动服务

进入主目录

cd cloud-ops

根据go.mod安装所有的依赖

go mod tidy

代码地址

269
0
2
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论