《深入理解Nginx》读书笔记
#为什么选择Nginx
1.更快
一方面,在正常情况下,单次请求会得到更快的相应;另一方面,在高峰期,可以比其他Web服务器更快地响应请求。
2.高扩展性
Nginx的设计极具扩展性,它完全由多个不同功能、不同层次、不同类型且耦合度极低的模块组成。
3.高可靠性
4.低内存消耗
一般情况下,1w个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存。
5.单机支持10w以上的并发连接
6.热部署
7.最自由的BSD许可协议
#Web服务器设计中的关键约束
1.性能
1).网络性能,是指在不同负载下,Web服务在网络通信上的吞吐量。
2).单次请求的延迟性,就是指服务器初次接收到一个用户请求直至返回响应之间持续的时间。
3).网络效率:就是使用网络的效率,例如使用长连接代替短连接,使用压缩算法增加信息携带量等。
2.可伸缩性
可伸缩性指架构可以通过添加组件来提升服务,或者允许组件之间具有交互功能。
3.简单性
简单性通常指组件的简单程度,每个组件越简单,就会越容易理解和实现,也就越容易被验证(被测试)。
4.可修改性
可修改性就是在当前架构下对于系统功能做出修改的难易程度。
5.可见性
可见性通常是指一些关键组件的运行情况可以被监控的程度。
6.可移植性
可移植性是指服务可以跨平台运行,这也是当下Nginx被大规模使用的必要条件。
7.可靠性
可靠性可以看做是在服务出现部分故障时,一个架构容易受到系统层面故障影响的程度。提高可靠性举例:避免单点故障、增加冗余、允许监视,以及良好的可恢复性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统