呼如林

其实你是担心直接重启服务, 会有处理到一半的请求被中断了, 导致尴尬的局面.你要的并不是热重启, 而是优雅关闭.grpc框架支持优雅关闭的.基本原理是, 你监听一个信号, 收到信号时调用grpc的GracefulStop接口, 这时grpc会首先关闭对外监听的fd, 这时就不会有新的请求进来. 而已经在处理的请求则会继续处理完, 然后再关闭服务.在grpc关闭对外监听的fd后的那个瞬间, 你其实可以启动你的新程序了, 所以基本上中断时间很短, 而原来处理着的请求并不会有问题.
0 0