gboot

module
v0.0.0-...-fac4fbb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2020 License: MIT

README

GBoot

基于 Gin + Hprose + Consul + GORM + WIRE 实现的微服务脚手架,目的是提供一套轻量的中台开发框架,方便、快速的完成业务需求的开发。

[![ReportCard][reportcard-image]][reportcard-url] [![GoDoc][godoc-image]][godoc-url] [![License][license-image]][license-url]

特性

  • 遵循 RESTful API 设计规范
  • 基于 GIN 框架,提供了丰富的中间件支持(JWTAuth、CORS、RequestLogger、RequestRateLimiter、TraceID、CasbinEnforce、Recover)
  • 基于 GORM 的数据库存储 -- 存储层抽象了标准的外部业务层调用接口,内部采用封闭式实现(为后续切换数据存储提供了较大的便利)
  • 基于 WIRE 的依赖注入 -- 依赖注入本身的作用是解决了各个模块间层级依赖繁琐的初始化过程
  • 基于 Logrus & Context 实现了日志输出,通过结合 Context 实现了统一的 TraceID/UserID 等关键字段的输出(同时支持日志钩子写入到Gorm/Mongo)
  • 基于 JWT 的用户认证 -- 基于JWT的黑名单验证机制
  • 基于 net/http/httptest 标准包实现了 API 的单元测试

依赖工具

手动安装

go get -u github.com/google/wire/cmd/wire
go get -u github.com/Unknwon/goconfig
go get -u github.com/gin-gonic/gin
go get -u github.com/hprose/hprose-golang
go get -u github.com/jinzhu/gorm

使用 mod 安装第三方依赖

go mod tidy
go mod vendor

交叉编译平台的二进制文件

mac上编译linux和windows二进制

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build 

linux上编译mac和windows二进制

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build 
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

windows上编译mac和linux二进制

SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build main.go
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build main.go

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL