问题引入 作为一名Golang开发者,线上环境遇到过好几次连接数暴增问题(mysql/redis/kafka等)。 纠其原因,Golang作为常驻进程,请求第三方服务或者资源完毕后,需要手动关闭连接,否则连接会一直存在。而很多时候,开发者不一定记得关闭这个连接。 这样是不是很麻烦?于是有了连接池。顾名思义,连接池就是管理连接的;我们从连接池获取连接,请求完毕后再将连接还给连接池;连接池帮我们做了连接的建立、复用以及回收工作。 在设计与实现连接池时,我们通常需要考虑以下几个问题:连接池的连...
问题引入 作为一名Golang开发者,线上环境遇到过好几次连接数暴增问题(mysql/redis/kafka等)。 纠其原因,Golang作为常驻进程,请求第三方服务或者资源完毕后,需要手动关闭连接,否则连接会一直存在。而很多时候,开发者不一定记得关闭这个连接。 这样是不是很麻烦?于是有了连接池。顾名思义,连接池就是管理连接的;我们从连接池获取连接,请求完毕后再将连接还给连接池;连接池帮我们做了连接的建立、复用以及回收工作。 在设计与实现连接池时,我们通常需要考虑以下几个问题:连接池的连...