【理論研究】漫談傳統傳統IT基礎設施04-服務器(下)

本文歡迎轉載,轉載請註明出處和作者。

最後,從部署應用的維度,對服務器進行一下探討。

何謂服務器

所謂服務器,其實就是硬件配置比較好(CPU、內存等),關鍵部件冗餘配置(電源、網卡等),安裝了能夠開機自啓動及對外服務的應用程序,能夠7*24小時全天候不關機且能穩定運行不死機的電腦。

說白了,當你的筆記本安裝了windows系統,然後右鍵屬性將文件夾設置共享,並且設置好訪問權限。局域網內的授權用戶能夠“\你的筆記本IP地址”,就能訪問你的共享目錄。那麼你的筆記本電腦,在某種意義上,就是文件服務器了。

你的筆記本電腦,安裝了個播放器軟件,能夠播放小電影了,某種意義上,也是個媒體服務器了。

如何用服務器構建業務系統

在以往,特別是WEB1.0的時代,也就是靜態網頁的時代。上網就是爲了打開網站,而網站基本上都是類似新聞門戶類的網站。信息是單向傳播的,也就是你只能上去網站瀏覽信息,他們給你看啥你就看啥,他們不給你看啥,你就沒得看。並且看歸看,既不能評論,也不能轉發,所以用戶與網站完全是零交互的。

靜態網站

這種情況下,只需要找臺服務器,安裝上Windows/Linux操作系統,並且進入操作系統之後,Windows安裝自帶的IIS功能,Linux安裝個Apache的軟件(靜態網站軟件),然後編寫一些html文件,放到指定目錄裏面,網站就可以供別人訪問了。

(當然這裏只談服務器,網絡什麼私網地址NAT映射至公網地址等東西暫且不表)

這個時候,業務系統就單純是單臺服務器+靜態網站應用軟件(IIS/Apache)。

記得那個年代有很多網頁開發的書籍,就叫做《網頁製作三劍客》,主要是講述使用Macromedia公司開發出來的,Dreamweaver,Fireworks,Flash三個軟件,來進行網站開發。Dreamweaver可以做頁面佈局與網頁元素的排列,Fireworks圖像、矢量圖的編輯,Flash估計就不用多作介紹了,可以做那個年代很火的動畫製作。

然而那時候,這些網站也會稱自己爲動態網站,但是這裏的“動態”,是指例如頁面的廣告位的圖片會自動輪換,頁面的Banner會有Flash插入的動畫,會有個簡單的動畫播放。而不是現在的“動態網站”,指的是與用戶有交互,例如用戶有賬戶,可以登錄、回帖、評論、簽到、秒殺等。
【理論研究】漫談傳統傳統IT基礎設施04-服務器(下)

動態網站

到了WEB2.0時代,單向傳輸信息已經不能滿足人們的訴求了。網民上網要求能夠與網站交互,單純的靜態頁面就不夠用了。

這個時候,服務器首先還是要安裝靜態網站的軟件(IIS/Apache),然後既然要存儲用戶的賬號、密碼、身份信息、評論等內容,當然要找個地方存取(存入與讀取),所以就要安裝數據庫軟件了(主流mysql、Oracle、SQL Server)。靜態網站的軟件是怎麼與數據庫連接起來的呢。

靜態網站軟件用的是html語言編寫的html的文件,而數據庫軟件則是用的SQL命令進行存取的東西,相當於一個講中文,一個講英文,所以這兩個東西是通信不了的。

那麼怎樣才能讓一個講中文的中國人與一個講英文外國人正常溝通呢?那當然就是找個翻譯當中間人啦。

計算機亦然,所以就出現了PHP、JSP、ASP等動態網頁語言,相當於可以將前端html的請求翻譯成SQL,然後從數據庫裏面讀取數據,翻譯爲html的語言,然後再返回給前端。

這裏就不能不介紹經典的LAMP組合了,Linux+Apache+Mysql+PHP,由於4個軟件都是開源的,免費、輕量、容易部署,因此很多個人應用(如博客),企業創業初期,LAMP都是用作建站的首選架構。

這個時候,可以在單臺機器(Linux/Windows)上面安裝好Apache+Mysql+PHP,然後將寫好的網站內容放上指定目錄,把幾個服務都起起來,並且相互打通即可。此時業務系統,就是1臺服務器。
【理論研究】漫談傳統傳統IT基礎設施04-服務器(下)

基本功能拆分

用戶規模日漸增大,單臺機器的性能不足了,此階段最簡單的做法就是拆分機器。2臺(1臺WEB服務器–安裝Apache與PHP,1臺數據庫服務器–安裝mysql),就能夠很好地提升問題。而一個動態網站(一個最小化的完整業務系統),就是1臺WEB服務器與1臺數據庫服務器就構建起來了。

這就是之前說的服務器爲什麼按照功能維度劃分,分爲WEB服務器與數據庫服務器的原因了。有點像化學裏面,“原子(動態網站)是化學變化(業務系統)裏面的最小粒子,由原子核(WEB服務器)與電子(數據庫服務器)組成”一樣。
【理論研究】漫談傳統傳統IT基礎設施04-服務器(下)

持續添加功能

隨着用戶量的增長,原有的設備,無論是性能(縱向),還是功能(橫向),很可能都無法繼續滿足業務系統的發展要求。

這個時候,縱向需要繼續增加WEB與數據庫服務器。

橫向,就要根據功能需求增加五花八門的其他類型服務器了,並且這些功能服務器通常只爲了解決一個類型的問題:

例如可能把網站的靜態圖片集中存放到1臺服務器,html上面的圖片地址直接指向這臺服務器的圖片,不用從數據庫裏面提取,加快頁面加載速度(緩存服務器)。

或者將用戶上傳的文件存放到1臺服務器,供大家共享上下載。(文件服務器)

或者將所有打印機驅動與打印機安裝到1臺服務器,所有用戶都通過連接這臺服務器來與打印機通信,打印。(打印服務器)

因爲這些功能大多都只爲了解決某一個需求/問題,而且基本上都在一條平行線上,互不交叉/重疊,沒有交集,因此不好對它們分門別類。

因此一般就把他們歸類爲除WEB與數據庫服務器之外的第三類:應用服務器(其實白話說,就是其他功能服務器)。
【理論研究】漫談傳統傳統IT基礎設施04-服務器(下)

說完這一節,傳統IT基礎設施服務器部分的理論就講完了,後面就開始講網絡部分的理論。

更多精彩內容,可以關注我的微信公衆號Waiting的運維日常
【理論研究】漫談傳統傳統IT基礎設施04-服務器(下)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章