Golang教程网
博客首页
实战学习Golang
日常工作实战
小程序实战开发
微信小程序开发
百度智能小程序开发
QQ小程序开发
头条小程序开发
支付宝小程序开发
学习笔记
搜索
搜索
golang grpc 如何进行热重启 graceful
学习笔记
2023-01-25
103°
其实你是担心直接重启服务, 会有处理到一半的请求被中断了, 导致尴尬的局面.
你要的并不是热重启, 而是优雅关闭.
grpc框架支持优雅关闭的.
基本原理是, 你监听一个信号, 收到信号时调用grpc的GracefulStop接口, 这时grpc会首先关闭对外监听的fd, 这时就不会有新的请求进来. 而已经在处理的请求则会继续处理完, 然后再关闭服务.
在grpc关闭对外监听的fd后的那个瞬间, 你其实可以启动你的新程序了, 所以基本上中断时间很短, 而原来处理着的请求并不会有问题.
相关链接
使用fresh类库实现Go gin热重启
Golang服务器热重启
goland服务热重启的配置文件
Golang:使用 air 热重启
golang iris web项目热重启
如何用 Go 实现热重启