文章预览
本文带大家一起来详细学习下 Go 中的优雅退出,由于文章过长,拆分成上下两篇,本文为上篇。 在写 Go 程序时,优雅退出是一个老生常谈的问题,也是我们在微服务开发过程中的标配,本文就来介绍下工作中常见的几种优雅退出场景,以及带大家一起来看一下 K8s 中的优雅退出是怎么实现的。 优雅退出 我们一般可以通过如下方式执行一个 Go 程序: $ go build -o main main.go $ ./main 如果要停止正在运行的程序,通常可以这样做: 在正在运行程序的终端执行 Ctrl + C 。 在正在运行程序的终端执行 Ctrl + \ 。 在终端执行 kill 命令,如 kill pid 或 kill -9 pid 。 以上是几种比较常见的终止程序的方式。 这几种操作本身没什么问题,不过它们的默认行为都比较“暴力”。它们会直接强制关闭进程,这就有可能导致出现数据不一致的问题。 比如,一个 HTTP Se
………………………………