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
go install github.com/yoyofx/yoyogo/cli/yygctl
Commands
There are commands working with application root folder
new
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
yygctl new console -n demo -p /Projects
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