1. 数据库 Serverless 化对连接池(代理)的新要求
数据库 Serverless 化对连接池(代理)提出了哪些新要求?
- Serverless 下连接与容量伸缩的矛盾
- 连接池/代理的职责扩展
- 预热、限流与按需分配
Serverless 数据库的容量会随负载伸缩,但应用建立的连接是长连接,可能被固定在某个实例或与伸缩状态冲突。这对连接池/代理提出新要求:一是连接管理要与容量伸缩解耦,代理应把连接池与应用资源解耦,随容量伸缩动态调整;二是连接预热,避免冷启动时应用连接建立延迟;三是限流与队列,在伸缩上限内保护数据库;四是路由与端点稳定,代理要提供稳定的端点,屏蔽底层实例变化。因此 Serverless 场景常引入数据库代理(如 RDS Proxy),由代理维护连接池、复用连接、缓冲超限请求,并配合容量伸缩。
Serverless 的核心矛盾是"连接是黏性的、容量是流动的"。连接池/代理需要充当解耦层:一方面复用连接减少建连开销,另一方面在容量伸缩、实例重建时对应用透明。代理还能在容量不足时排队,避免打爆数据库。