?? 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 .
v1.7.4 更新内容
CLI tempates upgrade: 1. grpc 2. xxl-job
Frameworks upgrade: 1. upgrade gRPC to v1.38.0 2. upgrade etcd to v3.5.0 3. upgrade protobuf to v1.5.2 4. upgrade go-redis to v8.11.0 5. upgrade go-grpc-middleware to v1.3.0 6. upgrade gorm to v1.21.11 7. upgrade logrus to v1.8.1 8. upgrade go2sky to v1.1.0 9. upgrade fasthttp v1.28.0
v1.7.3 更新内容
yygctl (cli)
install
代码语言:javascript复制go install github.com/yoyofx/yoyogo/cli/yygctl
Commands
There are commands working with application root folder
new
代码语言:javascript复制yygctl new <TEMPLATE> [-l|--list] [-n <PROJECTNAME>] [-p <TARGETDIR>]
--list
list all templates
TEMPLATE LIST
console / webapi / mvc / grpc / xxl-job
-n
generate folder by project name
-p
output files to target directory.
such as
代码语言:javascript复制yygctl new console -n demo -p /Projects
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