?? YoyoGo (Go语言框架)一个简单、轻量、快速、基于依赖注入的微服务框架( web 、grpc ),支持Nacos/Consoul/Etcd/Eureka/k8s /Apollo等 .
本次更新增强了Kubernetes Readiness 健康检查的能力,基本流程如下:
old pod
未退出之前,先启动new pod
old pod
继续处理完已经接受的请求,并且不再接受新请求new pod
接受并处理新请求的方式old pod
退出
这样整个服务重启就算是成功了,如果 new pod
没有启动成功,old pod
也可以提供服务,不会对目前线上的服务造成影响。
运行在容器中的程序响应流程:
程序在 docker
容器中运行,所以在服务发布过程中,k8s
会向容器发送一个 SIGTERM
信号,然后容器中程序接收到信号,开始执行 ShutDown
v1.7.6 更新内容
修复内容:
- fixed graceful stop and readiness bugs.
- fixed parallel problem by mvc template, that match it for route path .
- fixed read remote config hight priority then flags .
新增特性:
- add endpoint /actuator/health/detail, and then output db,redis and more .
- add endpoint /actuator/routers, and then output all route info list
v1.7.5 更新内容
框架依赖升级,独立DI组件
- New dependency injection framework https://github.com/yoyofxteam/dependencyinjection
新增特性:
- Support grpc connection timeout with context. (fix)
v1.7.4 更新内容
应用模板升级:
- grpc
- xxl-job
框架依赖升级: 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