龙空技术网

GRPC: 如何优雅关闭进程(graceful shutdown)?

阿里云云栖号 487

前言:

如今咱们对“mysql关闭连接”大约比较注意,兄弟们都需要了解一些“mysql关闭连接”的相关内容。那么小编也在网上汇集了一些关于“mysql关闭连接””的相关内容,希望姐妹们能喜欢,我们一起来学习一下吧!

介绍

本文将介绍优雅关闭 gRPC 微服务。

什么是优雅关闭?

在进程收到关闭信号时,我们需要关闭后台运行的逻辑,比如,MySQL 连接等等。

我们将会使用 rk-boot 来启动 gRPC 服务。

请访问如下地址获取完整教程:

(备用)

安装

go get github.com/rookie-ninja/rk-boot
快速开始

1.创建 boot.yaml

---grpc:  - name: greeter                   # Name of grpc entry    port: 8080                      # Port of grpc entry    enabled: 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 function    boot.AddShutdownHookFunc("shutdown-hook", func() {        fmt.Println("shutting down")    })    // Bootstrap    boot.Bootstrap(context.Background())    // Wait for shutdown sig    boot.WaitForShutdownSig(context.Background())}

3.启动 main.go

$ go run main.go

4.ctrl-c

通过 ctrl-c 关闭程序,我们会看到打印如下信息。

shutting down

原文链接:

本文为阿里云原创内容,未经允许不得转载。

标签: #mysql关闭连接