zoukankan      html  css  js  c++  java
  • GRPC: 如何优雅关闭进程(graceful shutdown)

    简介: 本文将介绍优雅关闭 gRPC 微服务。在进程收到关闭信号时,我们需要关闭后台运行的逻辑,比如,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 main
    
    import (
        "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

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

  • 相关阅读:
    JSON Web Token
    Centos 7下编译安装PHP7.2(与Nginx搭配的安装方式)
    Nginx配置详解
    Centos 7下编译安装Nginx
    PHP常用正则验证
    拼手气红包函数
    获取汉字首字母大写
    根据生日计算年龄
    ffmpeg获取视频封面图片
    对象脑图总结
  • 原文地址:https://www.cnblogs.com/yunqishequ/p/15432210.html
Copyright © 2011-2022 走看看