您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Go中关闭应用程序之前是否需要关闭数据库连接?

在Go中关闭应用程序之前是否需要关闭数据库连接?

DB将尽其所能进行检测,但是如果没有运气,它可能无法检测到。最好尽快发布所获得的东西。

send() 系统调用将等待TCP连接发送数据,但客户端不会收到任何信息。

发生电源故障,网络问题或裸机退出而没有正确释放资源。TCP keepalive机制将启动,并尝试检测连接已死。

客户端已暂停,并且未收到任何数据,在这种情况下,send()它将被阻止。

结果,它可能会阻止

服务器keepalive配置可以缩短以更早地检测到它。(例如,~2h 12m根据工作量,postgresql中的认值将很长)。

最大打开连接数可能会有硬性限制,直到检测到之前,有些连接会变成僵尸(存在,无法使用,但会降低限制)。

Go 2022/1/1 18:37:08 有464人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶