人民網北京6月19日電 今日上午9時,為紀念胡錦濤主席考察人民日報社、做客人民網強國論壇一周年,人民網“加強新興媒體建設,形成輿論引導新格局”網絡媒體論壇在北京隆重舉行,下午13時,召開了互聯網技術發展趨勢分論壇。太極公司的本部系統集成事業部總經理張志剛在論壇發言中說:“網站建設的技術問題很多,是一個復雜的工程。如何入手呢?就是抓住點,梳理線和力求面。太極的品牌體現在四個方面,第一個就是以互動共贏為基礎,以完全一體化的技術為支撐,同時提供專業團隊先進方法論以及技術的創新,提供一個值得信賴的IT服務國家隊,提供給我們的用戶高品質的服務。”
以下是張志剛發言內容:
大家下午好,因為我的工作是以集成為主,我想以集成這邊取得的信息技術平臺為主題進行交流。大家可以看一下這張片子,是網民的第一感受,我們作為技術工作人員而言,每天我們都是在機房里面辛苦的操作計算機,做一些設備的嘗試,非常的辛苦。我們辛苦的目標是什么,我們辛苦的目標就是滿足我們自己的服務對象——網民的感受。他的第一感受是什么?就是要快速響應,同時能提供一個豐富的網站內容。我們從這個簡單的片上可以感受到技術工作會很辛苦,很辛苦的原因所在是我們所服務的對象是需要得到一個快速的需求。
我的提綱是分這幾個方面,第一個是關于網站的技術特點分析,第二是關于技術平臺的關鍵對象,第三是關于網站技術平臺的設計需求,第四是網站設計的思路,第五是關于網站的平臺設計方案,然后做一個小結。
在講到設計方案的時候,按照我們一般的常規經驗,我們根據用戶的需求是出方案就可以了,但是從我實際的工作感受來講的話,一個設計方案的提出和最終滿足的需求,他必須要有一個保障,我覺得這個保障是必須有一個很好的組織團隊。一個好的設計方案并不是一個人能夠簡單的根據自己的實際經驗提出來的。必須有一個好的組織團隊,才能保證提出一個適合整體的網站架構的技術方案。
互聯網的技術特點分析
首先我們來簡單看一下互聯網技術的特點,我們模擬一下,現在要提出一個設計方案,從我實際的工作角度講,作為一個項目經理、一個項目團隊的領導者,會安排我們的設計者、工程師出方案,根據用戶提出的需求,簡單的出一個方案就可以了。但是從我們實際的工作經驗上來講的話,一個好的方案的出臺其實還需要組織一個好的設計班子。比如我們要出一個方案時,作為項目經理首先就應該組織一個好的班子,這個好的班子應該怎么選擇呢?首先你得知道這個班子的成員對這個技術的理解,對班子的成員一定要有技術上的分析。在我們的項目過程當中,一般作為項目經理會讓我們的廠商或者讓我們的相關技術成員出方案,但是實際上他沒有觀察到一點,就是這個人適不適合出這個方案?一般來說我們讓他出方案就可以了,但是他能不能完成這個工作,首先我們要做一個選擇。
我們首先要選擇這個班子的成員是不是對我們出現在這個方案所對應的技術有相應的了解。從我們現在互聯網站技術平臺這個角度來講的話,選擇設計這個人的時候,首先他對網站的相關協議要有一個了解。基于這個網站來說,我們基本上是通過Http的協議和HTML來做核心元素的。作為Http的核心是有一個Web客戶端和Web服務器。是一個什么特點呢?是一個無狀態的協議。就是說這個協議本身是他的起源不是記錄每一個歷史信息的,他是一個狀態,同時他要求有一個快速的響應。他是依賴于TCP協議的,同時在本地作為客戶端和服務器都要實現CT協議和TCP之間的連接。這個響應時間從一定的角度來分析的話,響應時間我們稱之為往返時間,叫做RTT,是一個評估網站很關鍵的因素。
另外在客戶端訪問網站的過程當中,我們還要考慮到DNS相關的查詢訪問速度,對整個網站的訪問速度的影響。
從流量的角度我們可以分析一下,就是說我們網站的整個訪問模式是一種客戶/服務器的模式,基于客戶的請求給出一個響應。他的流量是不對稱的,是有層級的。集中的是從客戶端請求完服務器以后,大概是從服務器響應到客戶端的。服務器到客戶端的流量是一個主要流量,作為一個服務器他就是一個數字源。他有一個很大的特點,就是大并發,大并發提出了對流量的響應能力,能量的匯聚點是服務器這邊。我們要思考的是流量方向匯聚點的方向在哪,提供一個可靠的速度。
從數據源和數據速度角度分析的話我們可以看到,剛才提高的他的數據源主要是服務器,數據的速度主要是客戶端,客戶端進行響應。所以我們要考慮設計過程當中的分級和分層,同時對數據源進行設計。
剛才我們對網站的技術特點進行了一個簡單的回顧,目的是什么呢,就是我們在選擇我們整個設計團隊的成員的時候,必須讓這個團隊基于IT特點有一個共識,在這個共識的基礎上我們進行相關的方案設計。組建這個團隊方案設計的過程當中我們需要考慮哪幾個方面的問題呢?第一是考慮網站的架構設計,不僅數據庫設計和安全體系的設計,另外考慮存儲的設計等。一般而言,在我們組建這個團隊設計方案的時候,我們的設計人一般會形成一個思維模式,就是先拿設備然后組建一個網絡,但實際上網絡架構本身的合理性其實是非常關鍵的因素。就是說我們在設計網絡的時候,不僅是要考慮把這個網絡打通,而且要解決承載適合業務需求的構架。
因為網絡架構是網絡技術和設備使用的一些基礎,他反映了其他數據對象的交互權和分析。我們的工程師的習慣就是先搞網站,但是實際上當業務發展的時候,這種結構不是最好的。設計我們平臺的時候,首先應該把我們的架構支撐的相對合理。這個架構是我們的網絡技術和設備使用的一個基礎,同時是其他的設計對象,比如我們說的安全、高效地數據建設等,是這些其他設計對象的交互、權衡。另外一點就是考慮負載均衡技術的設計,他的目標是業務訪問數據請求負載的分擔和業務響應數據流的分流。第一個是對業務訪問數據請求進行壓力分擔,第二個是實現訪問數據流的分流。第三就是關于數據庫設計,數據庫設計我們要關注他的目標是什么?就是安全、高效地存取關鍵數據記錄。
安全體系設計當中,我們的目標是什么呢?要考慮與網絡架構關聯設計,他依賴于網絡架構的合理性,并解決分級后的安全保護技術和性能、管理的權衡。就是說作為安全系統設計的相關工程師,他首先一定要對網絡有所了解,要和網絡設計搭配著一起來進行,同時考慮分級后的性能、管理的權衡,因為我們的性能是有一個矛盾的,我們要考慮他的權衡。
另外存儲系統設計的目標是設計一個統一的數據源存儲的方式,并給予存儲網絡和數據生命周期進行開發和管理。多級緩存設計的目標是基于數據源分層和分級的思路,緩解訪問壓力,并實現分層的客戶/服務器的模式。就是我們把多級緩存設計作為我們網絡設計平臺的基礎,剛才在分析當中提到了,就是我們怎么緩解壓力,我們要知道我們系統分析當中的焦點和問題在哪,多級緩存設計應該充分的考慮。
剛才我們從網站的關注對象,就是說我們組建一個團隊,要設計一個方案,我們提交這個方案的時候,核心要討論的幾個關鍵技術問題是什么。首先我們要依照這幾個關鍵問題考慮問題。
我們有了一個相關的設計對象以后,我們對這個設計對象的需求,從哪幾個角度考慮,我想從網絡主機數據庫以及安全和存儲幾個方面做說明。對于網絡需求而言,我們要考慮網站的出口級及關鍵互聯鏈路的容量,另外要考慮并發連接數和高峰期的壓力承載。
對于主機而言我們要關注多主機的開發承載合力,以及主機集群以及存儲的連接鏈路效率。
對于數據庫需求來說的話,我們要關注基于開發需求,以及結合業務訪問特點的數據庫設計。就是說數據庫相關的設計人員,他不能夠簡單的懂數據庫就可以了,要對業務系統開發有一個了解,就是說開發人員和數據庫的人員進行結合。同時結合業務的訪問特點進行數據庫的設計,而不是單一的完成一個數據庫的設計過程。
另外需求設計要關注什么呢?要關注分區域安全等級和區域邊界的安全防護,同時安全服務和安全管理策略的結合。也就是說安全不是作為一項建設就完成了,他還要考慮一個長遠的安全服務的管理策略的結合問題。
存儲需求要關注什么?要關注統一存儲網絡的設計和管理,另外要考慮存儲的分級和數據分等級的保護問題。
網站技術平臺設計圍繞那幾個思路考慮?
下面我們來看一下網站的技術平臺設計的思路。我們設計人員要圍繞哪幾個思路考慮我們整體方案的設計?首先應該考慮自頂向下的設計思路,另外要考慮運用系統方法,同時要考慮安全的全系統法則,另外要圍繞提高系統的響應能力為核心,還有就是拓撲結構、流量和功能模型的結合。為什么要說自頂向下設計呢?網絡或者基礎平臺的設計不是隨意的產生的,他有一個需求,就是我們必須以用戶和業務需求分析、設計為前提,網絡的設計人員或者說系統的設計人員,我們不能孤立的只是懂網絡,必須對業務有所了解。并依據業務訪問的效果來驗證網絡、安全、存儲設計的合理性。就是說我們要和業務人員交流,最終驗證網絡、安全、存儲設計的合理性是業務人員說了算的。作為技術平臺設計者來說,我們不能夠考慮我們的輸入什么,也不能夠考慮我們的輸出是什么,我們要考慮從業務輸出角度先開始進行平臺設計。另外考慮系統安全方法,系統方法,體現單一功能系統設計的內部關系,也關注其與其他功能系統的外部關系,并依據總體與局部的特點進行平衡。我們的設計人員往往比較局限,他沒有考慮這個系統和其他系統之間的關系,也沒有考慮在總體的結構當中怎么進行平衡。我們經常面臨的問題就是某一個系統的技術人員和其他的人員爭執,是因為他們沒有一個整體的系統思路考慮問題。
所以作為提交一個相關的全系統的整體設計方案的團隊而言必須有一個法則,就是我們必須站在一個整體的系統角度考慮問題,而不是站在自身的角度考慮問題。應該說系統方法是整個設計當中必須遵循的思路。另外一個就是安全全系統法則的含義是什么?安全的系統設計需要與各個系統功能結合考慮,并伴隨系統成熟的整個過程進行控制和操作,要找到安全與性能合理的平衡點。任何系統我們都要考慮安全問題,不是說我們單建一個安全系統就完了。所以安全系統的建設是圍繞著其他系統的成功過程建設的。作為建設人員來說,要和其他的系統安全過程一起完善,一起成長,一起成熟,提交一個整體的方案。
我認為安全全系統法則也是在設計過程當中必須遵循的法則。
另外,圍繞提高系統的響應能力,網站對于網民的第一體驗是頁面內容和響應速度,要圍繞這個焦點,不斷提升系統各個環節的響應速度,并通過測試和優化進行完善。我們搭建系統的時候,往往是視角層內我們只是看自己,把我的系統環境搭好就完了。但是實際上我們要知道我們的目標是什么,我們的目標是網民的使用和感受,所以我們應該再從外往里看一下,我們的系統當中,網民使用的響應速度是怎樣的,我們利用優化完善這個過程。所以圍繞系統的響應能力作為關注點,也是我們設計當中很關鍵的思路。
另外一點就是結合拓撲結構、流量、功能模型結合,依據網站的流量特點和特定區域的功能模型構建合理的拓撲結構和應用架構。這是我自己感覺到我們的設計者經常會忽視的一點,我們沒有把我們的拓撲結構、流量特征和功能模型進行結合,只是單一的看客戶,他不去看相關的整個訪問流量。
設計過程當我們要關注哪幾個焦點?
我們剛才談到的一個相關的關鍵點,下面我們來看一下技術平臺設計方案的案例。我們從六個方面給大家做一個介紹,第一個方面是關于網絡架構的設計,第二方面關于負載均衡設計,第三關于安全體系的設計,第四關于存儲系統設計,第五關于數據庫的設計,第六方面是多級緩存設計。這是我剛才提高的,在設計過程當中我們首先關注哪幾個焦點,我認為這幾個焦點如果我們在設計過程當中都能夠考慮到,而且能夠很好的實現的話,我覺得這個方案還是不錯的。應該是可以滿足要求。
首先我們看一下網絡架構的設計,我們不是簡單的聯網,我們是要有一個架構的思想在里面,這個架構的思想來源于幾個方面,剛才我提到的網絡功能的模型,以及客戶服務器的模型,以及一個模型的重合點。我們知道在我們的設計當中提到的有核心層、分布層、訪問層,每個層有不同的作用,這是關于網絡模型當中我們經常使用到的一個三層模型。
對于客戶服務器模型,對于網絡設計人員有沒有考慮到我們利用這個特點進行客戶服務的模型呢?同時考慮到數據的訪問方向,以及體現安全的一個區域層次。我們在設計網絡的時候,首先我們要看一下在這個過程當中哪一個點是我們的焦點,這個焦點就是我們網絡架構設計實現過程當中的一個關鍵點。
在網絡設計架構過程當中,每一個單元都要適應,網絡架構當中的每一個單元都要考慮這個原則。舉一個例子,在我們的網站設計當中,我們把他分成這幾個網絡區域,第一個是關于外網接入區域,第二是網站發布區域,第三是網站應用、數據庫區域,第四是網站采編區域。首先是從應用的角度考慮的,另外是通過我們每一個相應的區域所要完成的一個功能,這里就不詳細說了。
就是每一個區域都要按照我剛才所提到的特點,把網絡架構和我們的應用模型結合分析,有一個區域,有一個特點來構建我們的網絡架構。
第二是關于負載均衡設計,負載均衡設計當中,我們剛才在設計網站的相關特點分析當中我們提到了,如何分擔相關的數據源的壓力,把一個數據源分擔成多個數據源,其實是體現了一個負載均衡設計。所以負載均衡設計這一塊的話,主要是分擔一個數據源的壓力,分擔成幾個數據源,比如一個服務器的壓力,承載在多個服務器上。另外要考慮到通過負載均衡技術的設計來提高我們的響應速度。
這是關于負載均衡設計過程當中所用到的策略算法,比如他的一些算法,這些算法各有各的特點。我們在自己的實際的設計使用當中,要用哪一種算法我覺得不是我們網絡設計人員說了算的,是應用人員說了算的。他的應用特點是什么我們要仔細的分析,根據他的應用特點我們選擇相應的設計,同時要不斷的優化。
這是關于負載均衡設計的建議,側路使用的是鏈路負載均衡,內部是服務器負載均衡,這是一個負載均衡器的設計。
關于安全系統的設計的話,剛才提到安全系統是一個全新的法則,我們在設計當中分析很多的因素,包括終端層安全應用層安全,系統層安全,網絡層安全,物理層安全等,現在的話,安全系統設計上我們考慮的是運營和審計的安全。在運營和審計過程當中,管理安全要有一個基線配置,就是我們的基線在哪,同時我們要自己做一個測試,另外對我們的系統要進行評估,同時安全控制評估要給出一個相應的報告。另外在整個運營過程當中要完善監控體系,來體現安全設計,也就是安全警報和忠告,對于整個事件要有響應機制,另外就是不斷的完善我們的策略。
這是關于安全系統設置的一個統計,剛才說安全是依賴于網絡架構,不是單純的推動管理型,他和我們的架構能很好的匹配和融合,同時強調每一個區域的安全層次,安全的等級以及相關的產品在使用過程當中發揮的效果。對于存儲系統設計來說的話,我們的設計工程師經常出現的問題是我拿一個設備來,他的容量是多少,他能聯通,但是事實上存儲系統設計當中也是要考慮基于存儲網絡的一個特點,比如說我們把存儲網絡和我們的IP網絡進行比對,他也有自己的層次,比如應用層、文件層、存儲層等。在我們構建一個存儲架構的基礎之上,我們在進行設計的時候我們的思路非常的清楚,比如說我們要對業務系統、業務數據庫系統、主機系統、總線、文件和總塊等都要考慮,實現我們整個存儲系統的設計。這是對于存儲系統的案例,對于NAS存儲結構,SAN存儲結構等都有各自的特點。
下面的注意事項包括我們基于在存儲網絡設計當中,最核心的就是要知道I/0通道,就是我們整個存儲的I/O通道,他的特點,比如我們要提高他的可靠性怎么辦,在這個過程當中,比如我們可以通過操作系統、HBA卡、存儲等提高他的通道。
數據庫設計我們要提出幾個方面,第一數據庫的選擇要基于應用平臺,數據庫選擇的時候,我們不是隨便拿一個商用的數據庫軟件過來就可以了,一定要看你的應用架構,就是你的應用到底是什么,你是JAVA的還是.NET的架構,我們都要看一下,我們的歷史數據以及以后的數據增長規模,對數據庫的平臺選擇會有很大的影響。同時我們還要看一下數據庫的高性能問題,利用高速緩存,分散I/O,以及SQL優化,其實這是最難最關鍵的一點,我們的設計過程當中經常忽視這一點,數據庫搭好的,聯上了,但是速度為什么沒有提高?實際上跟SQL的優化非常的重要,他是非常重要的環節。另外在數據庫的設計當中,我們的可靠性要提高,我們可以通過CLUSTER集群的方式等來提高。
第六點是多級緩存設計,我們利用外部CDN緩存,另外要考慮硬性的緩存,還要考慮發布區的緩存設計,這是我們經常使用到的,另外就是數據庫的緩存設計也是我們在數據庫設計當中比較關注的,同時存儲設備的緩存設計是存儲廠商在他的產品設計和制造過程當中實現的。
網站建設的技術問題應該如何入手?
這是關于整個設計方案的一個案例,我做一個小結。網站建設的技術問題很多,是一個復雜的工程。
我們如何入手,我想就是可以給大家提示一下,就是抓住點,梳理線和力求面。
抓住點的含義是什么 ?就是分析系統當中存在的關鍵點。就是剛才我們提到的五個關鍵點,也是我們在設計過程當中要考慮的,并圍繞這個關鍵點展開系統的設計,這些點的分析,不僅考慮性能和功能,而且要深入分析和尋找安全性和高峰壓力下的異常風險。
梳理線的含義就是網站系統從出口網絡設備到安全設備、負載均衡、發布系統等,他的特點是布成一條線,剛才我們講的就體現了這條線,但是我們是雙性的。這條線直接承載著網民的需求,是一個數據流的關鍵性,需要從這條線的整體承載能力角度進行分析和評估。我們的設計員經常是看到了某一個點,比如他負責一個設備的相關性能,他沒有看這條線的整體來看,沒有進行整體的評估,而且相互的訪問關系不清楚,這是關于線,就是要梳理一下線,要把線梳理清楚。
另外力求面,他的含義是網站建設當中設計的技術層面是很多的,需要從網絡、主機、存儲、備份、安全、業務系統等多個技術層面考慮整個網站系統的設計和建設。有系統的關鍵點的控制,有系統關鍵數據流的梳理,也有系統工程的全面的分析和設計,網站設計和建設才能既有全局也有局部、思路清晰,要點明確。我們按照關鍵點和業務訪問的特點梳理成一條線,然后再分析這個線當中,我們整體的承載能力,最后力求把這條線拓展開,形成一個面,這樣的話我們的整個網站建設,設計方案就全面了,這是一個小結。
太極近幾年依靠專業的服務團隊,基于先進的方法和雄厚的技術實力,以及不斷完善的一體化IT服務體系,力爭成為“值得信賴的IT服務國家隊”,近年來在媒體行業取得了相關的成績,包括中央政府門戶網站建設項目,人民網技術平臺建設項目,中國軍網網站建設項目,中國國防部網站建設項目,以及新華網社區系統建設項目,中國經濟網網站建設項目,以及新華網香港站點的建設項目。這是我們的太極公司承載的一方面。
這是太極的品牌,他體現在四個方面,第一個就是以互動共贏為基礎,以完全一體化的技術為支撐,同時提供專業團隊先進方法論以及技術的創新,提供一個值得信賴的IT服務國家隊,提供給我們的用戶高品質的服務。