连接池
原因:
创建一个连接是很昂贵的:
1 要发起系统调用
2 TCP要完成三次握手
3 高并发的情况,可能耗尽文件描述符
连接池就是为了复用这些创建好的连接
开源实例:silenceper连接池
配置参数:InitialCap:初始化的时候直接创建好的连接数量
MaxIdle:最大空闲连接数
MaxCap:最大连接数

Get流程

代码实现


Put流程

代码实现

代码地址:https://gitee.com/mq-go/go-course/blob/master/Pool/pool.go
更简单的实现方法将请求队列也用channel实现就不需要在结构体里实现连接传递

浙公网安备 33010602011771号