摘要:而且在負(fù)載上面遠(yuǎn)超,為什么目前大多數(shù)的互聯(lián)網(wǎng)公司都是使用這種架構(gòu)模式,而不是直接,這樣不是架構(gòu)更加方便,而且性能更佳優(yōu)異嘛。其特點是占有內(nèi)存少,并發(fā)能力強(qiáng)。
最近有人問我,Nginx有動態(tài)分離機(jī)制,靜態(tài)請求直接就可以通過Nginx處理,動態(tài)請求才轉(zhuǎn)發(fā)請求到后臺交由Tomcat進(jìn)行處理。而且Nginx在負(fù)載上面遠(yuǎn)超Apache,為什么目前大多數(shù)的互聯(lián)網(wǎng)公司都是使用Nginx+Apache+Tomcat這種架構(gòu)模式,而不是直接Nginx+Tomcat,這樣不是架構(gòu)更加方便,而且性能更佳優(yōu)異嘛。
我覺得這個問題非常有意思,也去問了一些人,有人說應(yīng)該是以前公司使用Apache+php習(xí)慣了,然后nginx出現(xiàn)以后不敢輕易更改架構(gòu),所以在前面加一層Nginx反向代理。其實
提出這種問題的人,一定是沒有自己搭建過高負(fù)載站點,也根本沒有仔細(xì)了解過Nginx和Apache之間究竟有什么區(qū)別。
Nginx
Nginx ("engine x") 是一個高性能的HTTP和 反向代理 服務(wù)器,也是一個 IMAP/POP3/SMTP 服務(wù)器。其特點是占有內(nèi)存少,并發(fā)能力強(qiáng)。
Nginx為什么能夠載同樣的硬件下做到更高的負(fù)載,就在于其成熟的事件驅(qū)動框架,和事件調(diào)度機(jī)制,異步的方式能夠更好更快速的處理請求,這點和Node.JS倒是很相近。
原因Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運行在幾乎所有廣泛使用的計算機(jī)平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡單的API擴(kuò)充,將Perl/Python等解釋器編譯到服務(wù)器中。
請注意上面Apache的解釋,它快速、可靠并且可通過簡單的API擴(kuò)充,將Perl/Python等解釋器編譯到服務(wù)器中。這就是為什么要有Apache的原因,由于Web服務(wù)器本身是沒有動態(tài)語言處理能力的,所以Nginx要使用PHP、JAVA這種動態(tài)語言的時候,就必須要有應(yīng)用程序服務(wù)器來處理,而Apache本身能過直接加載php.so動態(tài)庫,能夠自行處理php語言的解釋和運行,或者說整合Tomcat,而nginx就只能遵循FASTCGI協(xié)議,將所有的用戶請求轉(zhuǎn)發(fā)給后端cgi服務(wù)器,所以在同樣的請求下,性能無法和Apache媲美。所以就有了這樣一個神奇的架構(gòu),Apache組成后端集群,Nginx作為反向代理的前端,即使一個集群掛掉了,照樣能過平衡負(fù)載。
而且在現(xiàn)代的架構(gòu)設(shè)計里面,靜態(tài)文件等資源都是被放到CDN的,也就是說,和業(yè)務(wù)集群毫無關(guān)系,又或者說直接就是存在一個Nginx集群來搞定這一切,這樣就能夠最大限度的在速度、并發(fā)負(fù)載、性能上面找到一個平衡點。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/35753.html
摘要:而且在負(fù)載上面遠(yuǎn)超,為什么目前大多數(shù)的互聯(lián)網(wǎng)公司都是使用這種架構(gòu)模式,而不是直接,這樣不是架構(gòu)更加方便,而且性能更佳優(yōu)異嘛。其特點是占有內(nèi)存少,并發(fā)能力強(qiáng)。 最近有人問我,Nginx有動態(tài)分離機(jī)制,靜態(tài)請求直接就可以通過Nginx處理,動態(tài)請求才轉(zhuǎn)發(fā)請求到后臺交由Tomcat進(jìn)行處理。而且Nginx在負(fù)載上面遠(yuǎn)超Apache,為什么目前大多數(shù)的互聯(lián)網(wǎng)公司都是使用Nginx+Apache...
上篇文章和大家聊了 Spring Session 實現(xiàn) Session 共享的問題,有的小伙伴看了后表示對 Nginx 還是很懵,因此有了這篇文章,算是一個 Nginx 掃盲入門吧! 基本介紹 Nginx 是一個高性能的 HTTP 和反向代理 web 服務(wù)器,同時也提供了 IMAP/POP3/SMTP 服務(wù)。 Nginx 是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的 Rambler.ru 站點開發(fā)...
摘要:通過本文,我們將完成生產(chǎn)環(huán)境的搭建。第二步修改文件,增加支持?jǐn)?shù)據(jù)源配置,添加目前只支持?jǐn)?shù)據(jù)源的用戶名和密碼。另外,的集群需要個或個以上的節(jié)點,并且確保這三個節(jié)點之間是可以互相訪問的。也可以故意的關(guān)閉某個實例,來驗證集群是否還能正常服務(wù)。 前情回顧: 《Spring Cloud Alibaba基礎(chǔ)教程:使用Nacos實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)》 《Spring Cloud Alibaba基礎(chǔ)教...
閱讀 3203·2021-10-14 09:42
閱讀 3571·2019-08-26 13:56
閱讀 3480·2019-08-26 11:59
閱讀 948·2019-08-23 18:00
閱讀 2213·2019-08-23 17:51
閱讀 3534·2019-08-23 17:17
閱讀 1486·2019-08-23 15:11
閱讀 5203·2019-08-23 15:05