一、先说结论
这一篇主要回答三个经常一起出现的工程问题:
- 为什么数据库连接、RPC、HTTP 调用大多基于 TCP,而不是 UDP?
- RPC 为什么有的基于 HTTP,有的基于 TCP?
- 项目里为什么要用连接池、线程池、长连接?
如果先把主线压缩成几句话,可以这样记:
- 数据库、RPC、HTTP 这类调用,更重视数据完整、可靠、有序地到达
- 所以它们更依赖可靠传输能力,而 TCP 是最成熟、最常见的方案
- 基于 HTTP 的 RPC 更重生态兼容性,基于 TCP 的 RPC 更重性能和协议控制力
- 连接池、线程池、长连接本质上都是“昂贵资源不要反复新建”
2026/3/24...大约 6 分钟
