国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

大型公共服務網(wǎng)站架構設計初探

2015-12-26 11:33:52李鋼
環(huán)球市場信息導報 2015年39期
關鍵詞:數(shù)據(jù)量調(diào)用公共服務

文|李鋼

大型公共服務網(wǎng)站架構設計初探

文|李鋼

各級政府、公共事業(yè)部門面向公眾提供網(wǎng)上服務的網(wǎng)站(大型公共服務網(wǎng)站)面臨著高并發(fā)量、大數(shù)據(jù)量和可靠性至上的要求,文章探索了一個高可用、高性能、易擴展、安全可靠、基于NET的大型公共服務網(wǎng)站應該具備哪些特點,應該從哪些方面進行架構設計。

互聯(lián)網(wǎng)誕生的短短20多年,對社會產(chǎn)生了翻天覆地的影響。各級政府、公共事業(yè)部門面向公眾提供網(wǎng)上服務的網(wǎng)站面臨著“高大上”(高并發(fā)量、大數(shù)據(jù)量和可靠性至上)的要求,從業(yè)務需求看,是網(wǎng)絡結構靈活、業(yè)務變動快,從數(shù)據(jù)量看,用戶多、處理量大。如何打造一個高可用、高性能、易擴展、安全可靠的公共服務網(wǎng)站系統(tǒng)成為我們面臨和亟待解決的一個迫切問題。

與傳統(tǒng)的政務網(wǎng)站系統(tǒng)相比,大型公共服務網(wǎng)站由于覆蓋用戶范圍廣、業(yè)務流程復雜,使其具有以下顯著特點:

高并發(fā)率,大流量。需要面對高并發(fā)用戶,大流量訪問。如每年公務員考試報名及成績查詢時,提供服務的網(wǎng)站面臨著日均百萬級別的訪問量和查詢量。

可用性至上。系統(tǒng)7×24小時不間斷服務。大型網(wǎng)站宕機事件通常會成為新聞焦點,尤其是面向公眾提供公共服務類型的網(wǎng)站。近年來,公共服務網(wǎng)站越來越受到黑客或境外勢力的關注,被攻擊現(xiàn)象時常發(fā)生,不良影響屢見報端。

大型公共服務網(wǎng)站應用系統(tǒng)除了以上顯著特點外,還具有占用的網(wǎng)絡及服務器資源多、數(shù)據(jù)海量且格式多樣、用戶分布廣泛、抗擊黑客攻擊性能好等特點。

網(wǎng)站架構的演化

傳統(tǒng)網(wǎng)站的架構。傳統(tǒng)的網(wǎng)站系統(tǒng)主要以完成業(yè)務功能為目標,用戶量相對較少且峰值不明顯。因此考慮的網(wǎng)站的架構時,一般采用的是比較簡潔的架構;在實戰(zhàn)中,采用以下比較通用、容易實現(xiàn)的三種架構模式:

應用與數(shù)據(jù)集中在一臺物理服務器上:一臺Server就滿足需要——網(wǎng)站應用程序、數(shù)據(jù)庫、文件等所有資源都集中在一臺Server上。這種模式主要針對訪問人數(shù)較少(每日10萬人以下,且用戶訪問時間不集中)。

應用和數(shù)據(jù)服務分離。三臺Server平天下——隨著業(yè)務量增加、訪問人數(shù)增多,單臺服務器部署不再適應業(yè)務的發(fā)展,將應用和數(shù)據(jù)分離后成三臺Sever(應用服務器、文件服務器與數(shù)據(jù)庫服務器)。分離后三臺Server對硬件資源的需求各不相同:應用服務器需要更快更強大的CPU,而數(shù)據(jù)庫服務器需要更快的硬盤和更大的內(nèi)存,文件服務器則需要更大的硬盤。

使用緩存改善網(wǎng)站性能。3+X Server模式——減少數(shù)據(jù)庫訪問壓力,提高網(wǎng)站的訪問速度。緩存又可以分為:本地緩存和遠程緩存(可以是分布式的),本地緩存訪問速度快,但數(shù)據(jù)量有限;遠程分布式緩存可以集群,因此容量不受限制。

大型網(wǎng)站的架構。隨著到網(wǎng)站訪問量的不斷增加,傳統(tǒng)的網(wǎng)站架構已不能滿足應用需求,大型網(wǎng)站的技術架構也隨之產(chǎn)生,而大型網(wǎng)站主要面對的技術挑戰(zhàn)是處理超大數(shù)量的用戶訪問和海量的數(shù)據(jù)處理,以及系統(tǒng)的可靠性、高性能、易拓展、易伸縮等特性的實現(xiàn)。

一個完整的大型網(wǎng)站設計時,一般需要從以下幾個方面考慮。

分層。分層是應用系統(tǒng)設計中最常見的一種模式,將系統(tǒng)在橫向維度上切分成幾部分,每個部分負責一部分相對比較單一的職責,然后通過上層調(diào)用下層的調(diào)用,組成一個完整系統(tǒng)。在大型網(wǎng)站架構中也采用分層結構,一般分為應用層、服務層、數(shù)據(jù)層。

分割。分層時將系統(tǒng)在橫向方面進行切分,分割是在縱向方面切分。網(wǎng)站越大、功能越復雜、服務和數(shù)據(jù)處理種類越多,將這些不同的功能和服務分割開來,包裝成高內(nèi)聚低耦合的模塊單元,一方面有助于軟件的開發(fā)和維護;另一方面便于不同模塊的分布式部署,提高網(wǎng)站的并發(fā)處理能力和功能擴展能力。

分布。分層和分割的一個主要目的是為了切分后的模塊便于分布部署。分布意味著可以使用更多的計算、存儲、網(wǎng)絡等資源完成同樣的功能,能夠處理大并發(fā)訪問和數(shù)據(jù)量的業(yè)務應用。

集群。使用分布式雖然已經(jīng)將分層和分割后的模塊對立部署,但是對于用戶集中訪問的模塊,還需要將獨立部署的服務器集群化,即多臺服務器部署相同應用構成一個集群,通過負載均衡設備共同對外提供服務。

緩存。緩存就是將數(shù)據(jù)存放在距離計算最近的位置,以加快處理速度。

異步。在大型網(wǎng)站中,系統(tǒng)解耦合的手段除了分層、分割、分布外,還有一個重要的手段是異步。異步就是業(yè)務之間的消息傳遞是不同步的調(diào)用,而是將一個業(yè)務操作分成多個階段,每個階段之間通過共享數(shù)據(jù)的方式異步執(zhí)行。

基于NET的大型公共服務網(wǎng)站架構

.NET是微軟下一代的軟件平臺,它允許人們在其上構建各種應用。.NET平臺由于其資源豐富、技術水平先進的特點而被廣泛使用。構建基于NET的公共服務網(wǎng)站,主要就是采用微軟的各個層面的系統(tǒng)軟件,包括NET framework、WEB服務器、數(shù)據(jù)庫、消息通信服務等,來完成網(wǎng)站建設。

架構特點。這個架構主要采用Microsoft Windows操作系統(tǒng)作為服務器和系統(tǒng)軟件:使用ASP.NET技術;使用IIS作為Web容器;用Akamai CDN來緩存網(wǎng)頁;用Foundry ServerIron 來做負載均衡;sqlserver采用master-slave架構,slave負責讀取操作,master負責寫操作。

服務接口可以采用WCF,WCF支持事務,支持多種通信方式??梢赃x用基于Web service的通信方式,也可以選用TCP/ IP socket的通信方式。

架構設計需要注意的問題

SessionState的技術方案。采用SessionState是ASP.NET默認的機制。ASP.NET的SessionState有幾種模式。InProc,StateServer,SqlServer模式和自定義模式。InProc不支持負載均衡的場景。只有StateServer和SqlServer模式才支持。

ViewState的技術方案。ViewState使服務器控件可以在往返行程中重新填充它們的屬性值,而程序員不需要編寫任何代碼。這些屬性值包括可見的屬性,也包括不可見的。

AJAX的請求量進行控制。AJAX帶來了很炫的效果,但是能適當?shù)販p少調(diào)用AJAX調(diào)用次數(shù),比如能否合并AJAX的調(diào)用。

Server.Transfer和Response.Redirect。Server.Transfer發(fā)生在服務器端,而Response.Redirect發(fā)生在用戶瀏覽器中。會多一次HTTP請求。

設置Web garden。只要服務器資源允許,就可以建立Web garden,在同一個服務器上多開幾個工作進程。32位Windows上一個進程通常只能占用2G-3G內(nèi)存(因為高地址的2G或者1G是Windows本身用來裝配系統(tǒng)文件用的)。64位Windows上一個進程能占用的內(nèi)存相對32位大一點,但是服務器有比如100多G的內(nèi)存,可以適當多開幾個工作進程。這可以增加單臺服務器的處理能力。

時至今日,大型網(wǎng)站的架構技術方案已經(jīng)非常成熟,各種技術方案也逐漸產(chǎn)品化。但我們在搭建大型公共服務網(wǎng)站時,還是需要從業(yè)務需求出發(fā),不要一味的采用高、尖、新的技術。對于搭建大型的ASP.NET網(wǎng)站來說,建議從系統(tǒng)軟件和硬件上首先要保證負載均衡和可伸縮性,其次做到每一臺服務器的性能最大化,最后使得整個系統(tǒng)的服務能力最大化;從軟件設計架構上,技術策略考慮如何分層以及分層模塊的部署,是否采用異步通信,如何提高模塊間的高效分布式調(diào)用等。

(作者單位:陜西省信息中心)

猜你喜歡
數(shù)據(jù)量調(diào)用公共服務
公共服務
公共服務
公共服務
基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
公共服務
計算Lyapunov指數(shù)的模糊C均值聚類小數(shù)據(jù)量法
高刷新率不容易顯示器需求與接口標準帶寬
寬帶信號采集與大數(shù)據(jù)量傳輸系統(tǒng)設計與研究
電子制作(2019年13期)2020-01-14 03:15:18
核電項目物項調(diào)用管理的應用研究
LabWindows/CVI下基于ActiveX技術的Excel調(diào)用
測控技術(2018年5期)2018-12-09 09:04:46
含山县| 望谟县| 白城市| 曲阳县| 太原市| 华阴市| 万年县| 微博| 浏阳市| 延津县| 荣成市| 深州市| 修水县| 佛山市| 怀化市| 十堰市| 蒙城县| 景德镇市| 那坡县| 崇阳县| 明溪县| 阳泉市| 克拉玛依市| 察哈| 延寿县| 微博| 青铜峡市| 师宗县| 安乡县| 漠河县| 柯坪县| 垣曲县| 玉林市| 满城县| 日照市| 惠水县| 扬中市| 南康市| 宁武县| 洪雅县| 永新县|