Discover Packages
github.com/yejingxuan/go-libra
module
Version:
v0.0.0-...-069db6f
Opens a new window with list of versions in this module.
Published: Apr 28, 2021
License: Apache-2.0
Opens a new window with license information.
README
README
¶
Golang微服务集成框架
一、简介
Golang开发快速集成框架,主要功能
配置——viper
日志——zap
协程池——ants
http服务——gin
orm框架——gorm
rpc服务——grpc
任务服务——robfig/cron
链路追踪——opentracing+jaeger
加解密工具包
二、quick-start
func main() {
app := libra.DefaultApplication()
app.Start()
//把自定义server添加到启动server中
app.AppendServers(httpServer(), grpcServer())
app.AppendWorkes(weatherWorker())
app.Run()
}
//定义http-server
func httpServer() *gin.Engine {
gin.SetMode(gin.ReleaseMode)
engine := gin.New()
//V1版本接口定义
v1 := engine.Group("/service/server/v1/base")
{
v1.GET("/healthCheck", func(c *gin.Context) {
rep := gin.H{"message": "ok", "code": 200}
c.JSON(200, rep)
})
}
return engine
}
//定义grpc-server
func grpcServer() *grpc.Server {
server := server.GrpcStdConfig().Build()
api.RegisterHelloServer(server, hello.HelloService{})
return server
}
//天气预报任务
func weatherWorker() worker.Worker {
worker := worker.StdConfig("weather").Build(func() {
log.Info("任务开始执行,监听天气预报")
})
return worker
}
三、功能说明
3.1、配置
配置采用viper配置框架来进行集成,并结合项目跟目录下的config.toml来进行辅助配置
3.2、日志
3.3、http服务
3.4、grpc服务
grpc服务安装
go get github.com/golang/protobuf/proto
go get google.golang.org/grpc
go get github.com/golang/protobuf/protoc-gen-go
//安装好后,会在GOPATH/bin下生成protoc-gen-go.exe
//手动下载protoc.exe,放在GOPATH/bin下
//注意添加 GOPATH/bin 到系统环境变量中,能够直接使用bin下的命令行工具
grpc的proto文件编写
grpc的proto生成go编码
protoc -I . --go_out=plugins=grpc:. ./hello.proto
开启grpc服务
使用etcd来做grpc的服务注册发现和负载均衡
3.5、etcd
3.5、任务服务
3.6、链路追踪
3.7、工具包
加解密
utils工具包提供了一些主流的加解密工具
Bcrypt 加密算法(hash算法加密)
AES-CBC 加密算法(对称加密)
MD5 加密算法(不可逆加密)
时间转换
四、规划
4.1、TODO
熔断限流保护 go-sentinel
工作流-workflow
负载均衡
路由网关限流
分布式缓存
搜索引擎
Expand ▾
Collapse ▴
Directories
¶
example
test
Click to show internal directories.
Click to hide internal directories.