《深入理解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.可靠性
可靠性可以看做是在服务出现部分故障时,一个架构容易受到系统层面故障影响的程度。提高可靠性举例:避免单点故障、增加冗余、允许监视,以及良好的可恢复性。

原文地址:https://www.cnblogs.com/atai/p/12258832.html