yoyogo v1.7.6 增强程序优雅退出和 K8s Readiness 检查  

来源: 投稿
作者: yoyofx
2021-07-21

🦄🌈 YoyoGo (Go语言框架)一个简单、轻量、快速、基于依赖注入的微服务框架( web 、grpc ),支持Nacos/Consoul/Etcd/Eureka/k8s /Apollo等 .

framework desgin

本次更新增强了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组件

新增特性:

  • 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

展开阅读全文
4 收藏
分享
加载中
更多评论
0 评论
4 收藏
分享
返回顶部
顶部