国产一区二区三区AV|老师真嫩真紧好爽20P|99热久久是有精品首页|美女被咬小头头的视频大全|伊人色综合一区二区三区影院视频|日本公妇里乱片A片保姆|日本欧美韩国在线一区

日志樣式

阿里云資深架構師分享:Nginx 就是個好的架構.

  • 標簽 :
阿里云資深架構師分享:Nginx 就是個好的架構,(文末福利)

 

前言:

Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發的,第一個公開版本0.1.0發布于2004年10月4日。

其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發布。

Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like 協議下發行。其特點是占有內存少,并發能力強,事實上nginx的并發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。

阿里云資深架構師分享:Nginx 就是個好的架構,(文末福利)

 

作為工程師的我們,為什么要學 Nginx?

第一點:Nginx 對整個架構的幫助是非常大的。

2007 年,我從華為來到了騰訊的 QQ 空間,在數據開發組工作。當時 QQ 空間小組也就是十來個人,大概有一億多用戶,同時在線大約在三百萬用戶,承載在 Apache 和 C++ 開發的服務器上。因為當時騰訊有蠻低的 ARPO 值(每用戶平均收入),每個用戶貢獻的收入是很少的,所以我們需要每臺服務器盡量能夠帶來更多的價值,能服務更多的用戶,就需要在 Apache 上做大量的優化。比如說把它的多進程改成多線程,很多初始化能一次解決的就不要初始化多次、調用多次等等。

但是不管你怎么樣做,總有點隔靴搔癢的感覺,你根本沒辦法做大幅度的優化,因為它的結構已經決定了這些問題的出現。

2009 年我到了思科之后,也遇到了同樣問題,但我開始接觸 Nginx,發現用 Nginx 改造服務器之后,它大概有 10 倍這樣數量級的性能提升。但對于 Apache,你對架構本身沒有辦法做很大的變動了。這就是我通過實際經歷想表達的第一點。

第二點:不能重復造輪子。

什么叫不能重復造輪子?

大概 2014 年,我在阿里 VBC 網絡的時候,用因特爾的 DBDT 技術解決方案,做了一個叫 SDN 軟件自定義網絡。當時我突然發現,你做一些比如網絡設備相關東西的時候,它的技術迭代非常慢,而且技術相對保守一些。

這個到底是為什么吶?我現在想明白了,就是我們在互聯網背景下,技術是模塊依賴的,比如我用 Nginx 來開發,Nginx 的模塊都是開放的,我可以基于別人的模塊做進一步的開發。別人在 不斷迭代模塊的之后,我可以享受到優化的好處,這就是所謂的“站在巨人的肩膀上”。

這也就是我想講的:千萬不要重復造輪子。如果 Nginx 能解決,或者說任何一個成熟的框架能解決問題的時候,不要再花時間自己做了。

第三點:還有好的架構。

什么叫好的架構?

我是 2012 年 10 月份去的阿里云,做了架構師。ECS 當時是兩個月迭代一次版本,我們團隊全年通宵了 23 次,花了兩年時間,把線上的五萬臺服務器重構成一個新的架構,大概是一個月就可以做迭代。

好的架構真的很重要。Nginx 就是個好的架構。

好架構,就是你要有預見性。比如 TCP 協議,它在 1995 年的時候就創立出來了,到現在都沒有大改,依舊服務了各種各樣的場景。Nginx 也是一樣,從 2014 年推出來后基本沒多大變化。但它的模塊化,是縱向的劃分的架構,最底層是事件驅動,基于 EP 的事件驅動,再上面是 HTTP 框架,再上面是 HTTP 模塊,再上面是 OpenResty 的 lua。再看橫向的劃分,比如說我們要做一些 WAF 防火墻的限制,又比如基于 IP 做白名單、黑名單,那它的模塊劃分很清楚,還比如其他的模塊,像 linit 或者 Request 只負責限速,不會自己去獲取到用戶的真實 IP 再去限速等等。

所以,我說 Nginx 是一個好的架構,而我們學習 Nginx,也可以獲取到非常好的架構思維。

天津市犀思科技有限公司是專業從事web應用定制開發的一家公司,主營業務包括定制功能型網站建設開發、微信小程序開發、微信公眾號開發APP定制開發、天津企業微信開發、ERP、CRM、OA等企業應用場景信息化解決方案等服務,致力于成為中國領先的IT服務及行業解決方案的提供商。


發表評論

電子郵件地址不會被公開。 必填項已用*標注

看不清?點擊更換