在云本地环境中是否仍需要连接池?
连接池(例如,开放式数据库连接)在过去非常流行。
我猜(不知道),在云原生环境中不再需要它们。
有一个容器/豆荚池。这样就不再需要连接池。
这是真的吗?
您仍然需要连接池。
连接池可防止您在例如向其他服务发送HTTP请求时引起TCP连接建立开销。我相信这大约是两个往返时间(RTT)(SYN-> ACK)。参见Connection Establishment。网络I / O非常耗时,因此可以节省大量请求时间。
连接池对于基础操作系统也非常有帮助。例如,在Kubernetes上下文中,您可能正在与“服务”进行通信。 Kubernetes使用iptables
将流量正确路由到服务。 iptables
使用名为conntrack
的文件来跟踪iptables
管理的所有连接。这是一个大小有限的文件。连接池可以防止您淹没conntrack
文件。这是相关的blog post。