摘要:而且在负载上面远超,为什么目前大多数的互联网公司都是使用这种架构模式,而不是直接,这样不是架构更加方便,而且性能更佳优异嘛。其特点是占有内存少,并发能力强。
最近有人问我,Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。而且Nginx在负载上面远超Apache,为什么目前大多数的互联网公司都是使用Nginx+Apache+Tomcat这种架构模式,而不是直接Nginx+Tomcat,这样不是架构更加方便,而且性能更佳优异嘛。
我觉得这个问题非常有意思,也去问了一些人,有人说应该是以前公司使用Apache+php习惯了,然后nginx出现以后不敢轻易更改架构,所以在前面加一层Nginx反向代理。其实
提出这种问题的人,一定是没有自己搭建过高负载站点,也根本没有仔细了解过Nginx和Apache之间究竟有什么区别。
Nginx
Nginx ("engine x") 是一个高性能的HTTP和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。其特点是占有内存少,并发能力强。
Nginx为什么能够载同样的硬件下做到更高的负载,就在于其成熟的事件驱动框架,和事件调度机制,异步的方式能够更好更快速的处理请求,这点和Node.JS倒是很相近。
原因Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
请注意上面Apache的解释,它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。这就是为什么要有Apache的原因,由于Web服务器本身是没有动态语言处理能力的,所以Nginx要使用PHP、JAVA这种动态语言的时候,就必须要有应用程序服务器来处理,而Apache本身能过直接加载php.so动态库,能够自行处理php语言的解释和运行,或者说整合Tomcat,而nginx就只能遵循FASTCGI协议,将所有的用户请求转发给后端cgi服务器,所以在同样的请求下,性能无法和Apache媲美。所以就有了这样一个神奇的架构,Apache组成后端集群,Nginx作为反向代理的前端,即使一个集群挂掉了,照样能过平衡负载。
而且在现代的架构设计里面,静态文件等资源都是被放到CDN的,也就是说,和业务集群毫无关系,又或者说直接就是存在一个Nginx集群来搞定这一切,这样就能够最大限度的在速度、并发负载、性能上面找到一个平衡点。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/39209.html
摘要:而且在负载上面远超,为什么目前大多数的互联网公司都是使用这种架构模式,而不是直接,这样不是架构更加方便,而且性能更佳优异嘛。其特点是占有内存少,并发能力强。 最近有人问我,Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。而且Nginx在负载上面远超Apache,为什么目前大多数的互联网公司都是使用Nginx+Apache...
上篇文章和大家聊了 Spring Session 实现 Session 共享的问题,有的小伙伴看了后表示对 Nginx 还是很懵,因此有了这篇文章,算是一个 Nginx 扫盲入门吧! 基本介绍 Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。 Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点开发...
摘要:通过本文,我们将完成生产环境的搭建。第二步修改文件,增加支持数据源配置,添加目前只支持数据源的用户名和密码。另外,的集群需要个或个以上的节点,并且确保这三个节点之间是可以互相访问的。也可以故意的关闭某个实例,来验证集群是否还能正常服务。 前情回顾: 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》 《Spring Cloud Alibaba基础教...
阅读 2546·2023-04-26 00:56
阅读 2003·2021-10-25 09:46
阅读 1237·2019-10-29 15:13
阅读 813·2019-08-30 15:54
阅读 2191·2019-08-29 17:10
阅读 2614·2019-08-29 15:43
阅读 500·2019-08-29 15:28
阅读 3023·2019-08-29 13:24