上传者: 38700430
|
上传时间: 2022-06-24 16:36:20
|
文件大小: 75KB
|
文件类型: PDF
问题引入
作为一名Golang开发者,线上环境遇到过好几次连接数暴增问题(mysql/redis/kafka等)。
纠其原因,Golang作为常驻进程,请求第三方服务或者资源完毕后,需要手动关闭连接,否则连接会一直存在。而很多时候,开发者不一定记得关闭这个连接。
这样是不是很麻烦?于是有了连接池。顾名思义,连接池就是管理连接的;我们从连接池获取连接,请求完毕后再将连接还给连接池;连接池帮我们做了连接的建立、复用以及回收工作。
在设计与实现连接池时,我们通常需要考虑以下几个问题:
连接池的连接数目是否有限制,最大可以建立多少个连接?
当连接长时间没有使用,需要回收该连接吗?
业务请