简介: 本文将介绍优雅关闭 gRPC 微服务。在进程收到关闭信号时,我们需要关闭后台运行的逻辑,比如,MySQL 连接等等。
介绍
本文将介绍优雅关闭 gRPC 微服务。
什么是优雅关闭?在进程收到关闭信号时,我们需要关闭后台运行的逻辑,比如,MySQL 连接等等。
我们将会使用 rk-boot 来启动 gRPC 服务。
请访问如下地址获取完整教程:
- https://rkdev.info/cn
- RK 文档 (备用)
安装
go get github.com/rookie-ninja/rk-boot
快速开始
1.创建 boot.yaml
---
grpc:- name: greeter # Name of grpc entryport: 8080 # Port of grpc entryenabled: true # Enable grpc entry
2.创建 main.go
通过 AddShutdownHookFunc() 来添加 shutdownhook 函数。
package mainimport ("context""github.com/rookie-ninja/rk-boot""github.com/rookie-ninja/rk-gin/interceptor/context"
)// Application entrance.
func main() {// Create a new boot instance.boot := rkboot.NewBoot()// Add shutdown hook functionboot.AddShutdownHookFunc("shutdown-hook", func() {fmt.Println("shutting down")})// Bootstrapboot.Bootstrap(context.Background())// Wait for shutdown sigboot.WaitForShutdownSig(context.Background())
}
3.启动 main.go
$ go run main.go
4.ctrl-c
通过 ctrl-c 关闭程序,我们会看到打印如下信息。
shutting down
原文链接
本文为阿里云原创内容,未经允许不得转载。