redis的相關知識,我們已經講得差不多了,后面我們會開新的系列內容,來談一談Nginx。Nginx相信大家并不陌生,作為一款世界上最流行的HTTP與反向代理服務,在互聯網領域被廣泛的應用!今天,我們主要來聊一聊Nginx的主要作用,后面我在繼續進一步深入了解Nginx,剖析下源碼。
靜態資源服務
首先我們得了解什么是靜態資源,在我們打開網頁的時候,有哪些是動的,哪些是靜的?例如我們打開清華大學的首頁,清華大學的圖標,上面的導航欄,網站的樣式,這些都是可以不用通過后端的業務邏輯拿到的內容,每次都是固定不變的(除非替換資源),我們稱之位靜態資源,而網站上一些清華大學的具體新聞,是通過后臺服務拿到最新的消息,則不是靜態資源。
對于靜態資源,我們可以部署到Nginx服務器上,那樣子,每次瀏覽器的請求,我們在Nginx服務器上面獲得對應的圖片,css等文件后,就直接返回給用戶,那樣子就可以減少后臺邏輯服務器的壓力。
反向代理
很多程序員不知道反向代理是什么意思?了解反向代理,我們先來了解下什么是正向代理,相信大家都了解我們可以通過配置代理服務器,讓服務端不知道我們真實是從哪一臺機器上發出來的請求。反向代理,就是方向相反,讓客戶端不知道服務器具體是哪臺機器。
為什么需要反向代理呢?這要從網絡服務開始說起了,正常情況下,服務器的后臺是不可能只有一臺機器的,往往是一個集群,舉個簡單的例子,你在淘寶上進行下單,淘寶后臺可能有非常多臺下單的機器,你最終會到其在某一臺或者某幾臺取完成這個下單的動作。多態機器的好處,一是為了提升性能,擴大服務的并發,二也是為了容災考慮,避免單臺機器出問題而導致系統無法服務。
我們有好幾臺機器,怎么確認最后是在哪一臺機上上面工作的呢?這就Nginx的功勞了,我們可以把請求,分發給對應的機器上,分發的時候有不同的策略,我們當然希望流量越均勻越好,這就是Nginx的一個重要作用負載均衡。
同時,對于部分資源,雖然也需要經過后臺服務器,但是短時間內數據是不變的,所以我們就可以把它們緩存起來,這又是Nginx的另一大作用,緩存。
API服務
什么是API服務,這個可能比較冷門,相信很多人還不太了解,本人也是用的比較少,API服務的主要作用是提供Http接口直接讀取DB或者Redis的數據,通常在一些非敏感的只讀數據上,有著較大的作用,例如讀取某個排行板等。
總結
好了,今天我們針對Nginx的功能介紹主要就講到這里,后面我們會進一步剖析Nginx,歡迎大家關注我,我們一起共同學習,共同進步!
歡迎加入我的圈子,大家共同學習,共同進步!