Gin 是一个用 Go (Golang) 编写的 HTTP web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 优于 httprouter,速度提高了近 40 倍。今天为大家介绍的这款开源项目就是基于 Gin 框架的 Web 项目模板,欢迎大家使用和学习。
项目名称:GoSkeleton
项目作者:张奇峰
开源许可协议:MIT
项目地址:https://gitee.com/daitougege/GinSkeleton项目简介
GoSkeleton 是一款基于 Go 语言 Gin 框架的 Web 项目骨架,专注于前后端分离的业务场景。其目的主要在于将 Web 项目主线逻辑梳理清晰,最基础的东西封装完善,开发者更多关注属于自己的的业务即可。
本项目骨架封装了以
tb_users
表为核心的全部功能(主要包括用户相关的接口参数验证器、注册、登录获取 token、刷新 token、CURD 以及 token 鉴权等),开发者拉取本项目骨架,在此基础上就可以快速开发自己的项目。
项目演示
快速上手
1.安装的 Go 语言版本最好>=1.14,只为更好的支持
go module
包管理。
2.配置 Go 包的代理,参见https://goproxy.cn,有详细设置教程。
3.使用
goland(>=2019.3版本)
打开本项目,找到
database/db_demo_mysql.sql
导入数据库,自行配置账号、密码、端口等。
4.双击
cmd/(web|api|cli)/main.go
,进入代码界面,鼠标右键
run
运行本项目,首次会自动下载依赖, 片刻后即可启动。
其他功能
1.数据库( Sqlserver、Mysql、Redis)连接池内部封装,无感知调用。
2.全局容器,将繁琐代码率先注册,后续快捷调用,尤其是路由全程高度简洁。
3.全局事件注册,需要释放的资源,率先注册,程序退出时自动释放。
4.路由只与中间件、表单参数验证器绑定,将控制器等更深层逻辑隔离,使代码更加简洁。
5.统一配置、快速缓存、Jwt(token)、跨域、文件上传公共模块等常用模块齐全。
6. websocket 严格按照标准协议封装,隐式自动维护心跳,开发者只需要关注自己的核心业务即可。
7. Rabbitmq 消息队列封装完善,便于解决特定的复杂场景问题。
8. Cobra clit 模式包封装,支持开发非常灵活的非http接口服务。
9. Httpclient 包集成,非常方便开发各种数据采集功能。
10.Aop 切面编程。
压力测试
2核4g云服务器,并发(Qps)可以达到1w+,所有请求100%成功!
看了上面的这些介绍,如果你想亲身尝试一下这个 Web 项目骨架,那么就点击后面的链接去项目主页看看吧,记得给它一个 Star 哦:https://gitee.com/daitougege/GinSkeleton