IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Connection Management

共 2 篇相关文章

IT 累计浏览 2,101

中国移动网络下连接的秘密

网络工程师们常常争论 TCP 和 HTTP 哪个更可靠,这篇技术心得则拨开了这些迷思。作者从底层协议的本质出发,指出 TCP 是保证顺序与完整性的数据流,而 HTTP 作为其上的应用层协议,其“可靠感”更多源于请求-应答的临时连接模式。在移动网络环境下,这种特性与网络抖动结合,会显著放大延迟。 文章更深入地剖析了中国移动网络的特殊性:CMWAP/CMNET 的历史区分、各省各异的 WAP 网关,以及其作为 HTTP 代理对连接方式的限制。最后,作者聚焦于体验不佳的根源——受制于商业分割和硬件技术的“最后一公里”,并直言在此限制下,许多 CDN 加速方案的实际效果有限。 作者并非给出解决方案,而是基于实践,揭示了从协议层到运营商策略,再到物理接入的层层现实。理解这些“秘密”,才能对移动网络下的连接问题有更清醒的认知。

IT 累计浏览 3,723

Nginx的connections数组

这篇讲的是Nginx核心连接管理机制的实现细节。作者从一个实际编码时的疑惑切入:如何为worker进程高效分配和回收网络连接,这个数据结构究竟该叫数组还是链表? 文章通过剖析`ngx_event_process_init`函数中的关键代码,揭示了Nginx精巧的设计。它首先预分配一个`ngx_connection_t`数组,然后通过一个循环,巧妙地将每个连接的`data`字段作为指针,把所有数组元素串联成一个单向链表。这样一来,`free_connections`指针直接指向第一个可用连接,而`free_connection_n`记录总数,形成一个“空闲连接池”。 这个实现的核心思路是:用连续的数组存储,保证内存局部性;同时用链表的逻辑来管理,实现O(1)复杂度的获取与释放。它将两种数据结构的优势结合了起来,为每个worker进程处理高并发连接提供了基础。理解这个设计,能更好地看懂Nginx在事件驱动模型下为何如此高效。