?? YoyoGo (Go语言框架)一个简单、轻量、快速、基于依赖注入的微服务框架( web 、grpc ),支持Nacos/Consoul/Etcd/Eureka/k8s /Apollo等 .
https://github.com/yoyofx/yoyogo
YoyoGo 特色
- 漂亮又快速的路由器 & MVC 模式 .
- 丰富的中间件支持 (handler func & custom middleware) .
- 微服务框架抽象了分层,在一个框架体系兼容各种server实现,如 rest,grpc等 .
- 充分运用依赖注入DI,管理运行时生命周期,为框架提供了强大的扩展性 .
- 功能强大的微服务集成能力 (Nacos, Eureka, Consul, ETCD) .
- 受到许多出色的 Go Web 框架的启发,并实现了多种 server : fasthttp 和 net.http 和 grpc .
package main
import ...
func main() {
app.CreateDefaultBuilder(func(rb router.IRouterBuilder) {
rb.GET("/info",func (ctx *context.HttpContext) { // 支持Group方式
ctx.JSON(200, context.H{"info": "ok"})
})
}).Build().Run() //默认端口号 :8080
}
v1.7.2 更新内容
- Apollo 配置中心支持
- 修改配置中心快速设置包的位置:github.com/yoyofx/yoyogo/pkg/configuration/{ nacos or apollo }
实例:
代码语言:javascript复制config := nacosConfig.RemoteConfig("config")
config := apolloConfig.RemoteConfig("config")
v1.7.0/1 更新内容
- 集成xxl-job-go sdk ,支持远程日志查询
- 添加consul服务发现与身份认证
- Nacos配置中心支持
v1.6.9 更新
- web binding
v1.6.8 更新
- grpc 宿主支持 & grpc client 与 负载均衡 , 实例 https://github.com/yoyofx/yoyogo/tree/master/examples
- 控制台宿主支持 , 实例 https://github.com/yoyofx/yoyogo/tree/master/examples