连接池

原因:

创建一个连接是很昂贵的:

1 要发起系统调用

2 TCP要完成三次握手

3 高并发的情况,可能耗尽文件描述符

连接池就是为了复用这些创建好的连接

 

开源实例:silenceper连接池

配置参数:InitialCap:初始化的时候直接创建好的连接数量

     MaxIdle:最大空闲连接数

       MaxCap:最大连接数

 

Get流程

代码实现

 Put流程

代码实现

 代码地址:https://gitee.com/mq-go/go-course/blob/master/Pool/pool.go

更简单的实现方法将请求队列也用channel实现就不需要在结构体里实现连接传递

 

posted @ 2023-10-09 16:43  柒染丨  阅读(25)  评论(0)    收藏  举报