Ngo是由网易传媒基础技术团队开源的一个类似Java Spring Boot的框架,全部使用Go语言开发,主要目标是:
- 提供比原有Java框架更高的性能和更低的资源占用率
- 尽量为业务开发者提供所需的全部工具库
- 自动加载配置和初始化程序环境,开发者能直接使用各种库
- 提供预置的健康检查、上线、下线、状态查看等接口
使用 go get -u github.com/NetEase-Media/ngo
命令下载安装
go main
package main
import (
"context"
"github.com/NetEase-Media/ngo/adapter/log"
"github.com/NetEase-Media/ngo/adapter/protocol"
"github.com/NetEase-Media/ngo/server"
"github.com/gin-gonic/gin"
)
// go run . -c ./app.yaml
func main() {
s := server.Init()
s.PreStart = func() error {
log.Info("do pre-start...")
return nil
}
s.PreStop = func(ctx context.Context) error {
log.Info("do pre-stop...")
return nil
}
s.AddRoute(server.GET, "/hello", func(ctx *gin.Context) {
ctx.JSON(protocol.JsonBody("hello"))
})
s.Start()
}
配置文件app.yaml
service:
appName: ngo-demo
clusterName: ngo-demo-local
对应bug上报、问题咨询和讨论,可以提交issue