?? 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 }
例項:
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