go context 原理
原文 https://go.dev/blog/context
Introduction
在 Go 服务器中,每个传入的请求都在其自己的 goroutine 中处理。
请求处理程序通常会启动额外的 goroutine 来访问后台,比如数据库和 RPC 服务等。
处理请求的 goroutines 集通常需要访问特定于请求的值,例如最终用户的身份、授权令牌和请求的截止日期。
当请求被取消或超时时,所有处理该请求的 goroutines 都应该快速退出,以便系统可以回收它们正在使用的任何资源。