什么是中间件?
中间件是一种独立的
系统
软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的
软件
。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或
OS
环境。
现在web上的中间件在负载均衡,安全防控,http缓存上都有很大的作用。
Nginx是什么?
Nginx是一个开源且高性能、可靠的Http中间件、代理服务。
特点:
1.采用linux的IO多路复用--epoll,来处理高并发的请求
https://www.zhihu.com/question/32163005(这链接是知乎上关于IO多路复用的解释,很详细)
2.轻量级(功能模块少,代码模块化)
3.CPU亲和度高
Nginx的工作进程和cpu核心会进行绑定,就是固定某个工作进程在这个cpu上执行,减少切换cpu的高速缓存缺失,提高了性能。
4.处理静态资源请求高效(资源直接通过系统内核空间返回给Socket,再返回给用户)