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 哦。