采用服務(wù)器框架最大的好處是,外部網(wǎng)絡(luò)發(fā)送和接收的所有數(shù)據(jù)包都放入代理進程,與業(yè)務(wù)邏輯相關(guān)的所有處理操作都放入業(yè)務(wù)處理進程。在業(yè)務(wù)處理過程中,各種原因?qū)е碌臉I(yè)務(wù)服務(wù)的不穩(wěn)定性,只會影響到目前正在處理的請求,而不會影響到服務(wù)的整體穩(wěn)定性,從而保證對用戶造成的傷害控制在很小的范圍內(nèi),不會大范圍影響用戶的產(chǎn)品體驗。很多時候,即使不使用框架也能寫出好的程序,所以我們只需要知道一些常見的服務(wù)器架構(gòu)和對高性能服務(wù)器的一些基本要求。
一、服務(wù)器技術(shù)架構(gòu)的發(fā)展趨勢
一般來說,客戶需求決定了服務(wù)器的發(fā)展方向。從服務(wù)器技術(shù)架構(gòu)來看,整個服務(wù)器技術(shù)架構(gòu)的發(fā)展有三大趨勢:縱向擴展架構(gòu)、橫向擴展架構(gòu)和超融合架構(gòu)。
1.縱向架構(gòu):縱向擴展縱向擴展,主要提升單臺服務(wù)器的性能,包括高可靠性、高可用性和可擴展性,主要應(yīng)用于高性能的交易業(yè)務(wù)。主要用于關(guān)鍵數(shù)據(jù)庫、應(yīng)用系統(tǒng)和高性能計算服務(wù)。縱向擴展架構(gòu)廣泛應(yīng)用于金融交易、電信計費、科學(xué)研究、氣象分析等領(lǐng)域。放大服務(wù)器可以比作戰(zhàn)斗力巨大的驅(qū)逐艦。
2.超融合架構(gòu):架構(gòu)理念是將計算、存儲、網(wǎng)絡(luò)和統(tǒng)一管理放在一個盒子里。通過集成設(shè)計、集成和優(yōu)化,消除了系統(tǒng)瓶頸,實現(xiàn)了更好的整體系統(tǒng)效率。該架構(gòu)主要應(yīng)用于高性能數(shù)據(jù)分析、數(shù)據(jù)庫集成、云計算資源池平臺、集成數(shù)據(jù)中心等應(yīng)用場景。這種架構(gòu)可以和航母(牛匕的那種)相提并論,而且是一個超級整體優(yōu)越的作戰(zhàn)平臺。
3.橫向架構(gòu):簡單來說就是以量取勝。橫向擴展架構(gòu)通常不需要單臺服務(wù)器的高性能,主要通過多臺服務(wù)器完成任務(wù)。該架構(gòu)具有高性能、低成本、高密度、節(jié)能、低碳和集群管理等特點。通常用于超大規(guī)模數(shù)據(jù)中心、大數(shù)據(jù)分析、公有云、Web應(yīng)用集群等業(yè)務(wù)場景。橫向擴展系統(tǒng)可以比作輕型快艇集群,整體戰(zhàn)斗力可以通過狼性戰(zhàn)術(shù)來實現(xiàn)。
二、服務(wù)器互聯(lián)網(wǎng)應(yīng)用部署架構(gòu)
采用典型的B/S架構(gòu)。因為互聯(lián)網(wǎng)應(yīng)用通常具有用戶數(shù)量大、并發(fā)點擊負載高、數(shù)據(jù)量大等特點。因此,它一直朝著開放和分布式的架構(gòu)模式發(fā)展。比如現(xiàn)在的百度、騰訊數(shù)據(jù)中心普遍采用大規(guī)模分布式數(shù)據(jù)庫。Hadoop大數(shù)據(jù)集群、高密度橫向擴展應(yīng)用和搜索web集群接入部署架構(gòu)模式。
三、業(yè)務(wù)應(yīng)用程序和服務(wù)器部署
1、早期應(yīng)用部署:早期的服務(wù)器系統(tǒng)都是單機應(yīng)用,所有的應(yīng)用軟件都部署在一臺服務(wù)器上:這臺服務(wù)器為一個或幾個用戶提供計算或業(yè)務(wù)服務(wù),這種單機系統(tǒng)通常稱為工作站。
2、服務(wù)器C/S應(yīng)用部署架構(gòu):在CS架構(gòu)中,通常會有一個集中共享的應(yīng)用數(shù)據(jù)庫,每個使用系統(tǒng)的員工都會有自己的PC,每臺PC都會安裝不同的應(yīng)用,可以操作使用或共享應(yīng)用數(shù)據(jù)庫,從而實現(xiàn)業(yè)務(wù)系統(tǒng)的協(xié)同操作、應(yīng)用共享和統(tǒng)一保存。軟件升級也需要逐個升級每個客戶端。維護起來非常不方便。比如早期的銀行柜員業(yè)務(wù)系統(tǒng)、企業(yè)財務(wù)系統(tǒng)等。
3、服務(wù)器B/S應(yīng)用部署架構(gòu):這是一個優(yōu)化的架構(gòu),隨著互聯(lián)網(wǎng)的興起而發(fā)展。在這種三層架構(gòu)中,個人電腦客戶端只需要一個標準的網(wǎng)絡(luò)瀏覽器就可以與服務(wù)器交互。當用戶需要不同的服務(wù)時,他們只需要連接到不同的應(yīng)用服務(wù)器??蛻舳艘子谑褂?,無需維護。