在大数据系统内部一定会存在多个技术组件且在集群正常工作时多个组件之间一定会存在相互通信传递数据或者请求的过程,为了保证通信的可靠性,在通信前就需要建立这样一条彼此之间的连接通道,而这条通道的建立本质上就是请求端和被请求端各开辟一块内存资源来满足双方数据或请求的传递。
通常情况下当我们经过这个通道把数据或者请求传递完成之后就需要及时的关闭该通道,因为已经用完了如果不关闭就在浪费资源,并且每一次的连接通道开启和关闭都需要经过操作系统调用代价其实很高。这种在需要进行数据或者请求传递时开启连接通道在不用的时候关闭通道的做法,在通信请求量很小的情况下时是没有问题的;但是一旦在同一时间的通信数量多了起来,比如一下子来了几百上千个请求,如果还像以前那样一个一个的去建立连接通道那么效率会太低,于是就有连接池的想法。
连接池的原理就是把一堆后续可能会用到的连接通道给提前打开,然后放到一个容器里面给管理起来,后续任何一个通信请求进来了就行容器申请已经创建好的连接通道用完之后再还回去,自己不用去管理创建和关闭的问题;这样即使在同一时刻有大量的通信请求进来,因为连接通道是事先创建好的这个时候直接分配出去就好了,因此效率会非常高,所以当软件之间存在大量通信请求场景时就需要用到连接池来优化整个通信过程的效率。