/ngo

Ngo是由网易传媒基础技术团队开源的一个类似Java Spring Boot的框架,全部使用Go语言开发,做到快速开发应用

Primary LanguageGoApache License 2.0Apache-2.0

简介

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