電信級服務器軟件架構
原創電信級服務器是電信運營商使用的網絡設備,是對性能、可用性和安全性要求最高的商用服務器,以交換機、路由器等核心網絡設備為代表,支撐著計算機網絡的發展,并隨著電信業務的不斷豐富,電信級服務器設備的類型也飛速地發展。
服務器與個人電腦一樣都是計算機,以處理器、硬盤、內存、系統總線等組成硬件平臺,在硬件平臺上運行軟件程序。不同之處在于是服務器是針對具體的網絡應用特別制定的,與微機在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面存在差異很大。隨著信息技術的進步,網絡的作用越來越明顯,服務器的功能也越來越復雜。而電信級服務器著主要體現在三個關鍵特征上
·高性能 電信級服務器是為大量的終端用戶服務的設備,在業務高峰期要處理海量的數據業務。例如春節前,國人通常會通過手機互發短信問候,對于1個千萬人口的國內大型城市,按2010年全國人均發送31條問候短信計算,該市短信系統一共發送3億1千萬短信,即使系統吞吐量峰值是5000條/秒,也需要連續工作17小時多才能發完。而10多個小時才能將短信發給親友,應該是不會有人滿意的,對于北京、上海等2~3千萬的特大型城市,系統吞吐量還必須成倍增加。
·高可用性 電信級服務器的要求是 7 x 24 小時不間斷服務,滿足99.999%的高可用性,這意味著一年內的計劃外停機時間只有5分鐘。任何時候,一次服務中斷對于電信業務來說都是非常嚴重的事故,以電話業務為例,如果服務器意外中斷,大量正在撥號的用戶將不能撥通好嗎,而大量正在通話的用戶的電話會突然中斷,這將造成無法估量的損失。
·高安全性 電信級服務器承擔著互聯網業務數據傳輸的重要功能。互聯網浪潮發展到今天,已經深入了人們的日常生活,保護個人隱私,抵御惡意攻擊是電信級服務器的基本要求。以網上購物為例,2011年,淘寶平均每分鐘交易4.8萬件商品,單日交易額最高達43.8億元,如果服務器不能保證網上購物業務的安全性,后果是無法想象的。
辯證唯物主義哲學的三大規律之一,量變質變規律告訴我們,事物的量變會引起質變。建造承重300噸的大橋和建造承重30噸的大橋是不一樣的;開發可以運行1個小時的程序與開發可以連續運行7 x 24小時的程序是不同的;開發接入10個客戶端的服務器,和開發接入1萬個客戶端的服務器也是不同的。本文將從3個方面介紹電信級服務器軟件的設計。
軟件流程設計
由于電信業務的時間復雜度是指數級的,要擴大數據規模,提高硬件速度是沒有效果的,必須采用更優的計算模式。我們從數據流程的角度,將計算模式分為兩種,同步模式和異步模式。
同步模式下,數據是服務器一個一個地處理的,前一個數據處理完再處理下一個數據,對于多核和多CPU的平臺,可以同時并發處理n個數據(n是CPU數量)。假設A節點通過B服務器與C節點交互,同步模式的處理方式如下
同步模式的程序的邏輯簡單,軟件代碼量相對較少,異常處理考慮相對容易。但是對于電信級服務器來說,同步模式的性能是不夠的
異步模式下,服務器可以連續地處理數據,通過內部緩存數據處理的中間結果,記錄每個數據的處理狀態,直到處理完成。
根據我在電信行業十年多的經驗,異步模式下系統的吞吐量比同步模式高出一個數量級。但是異步模式程序就比同步模式復雜多了,需要用到內存表、狀態機、工作流等技術。而電信級服務器軟件一般都是采用異步模式實現。
硬件平臺
主流的電信級服務器的硬件平臺,經歷了由塔式服務器到機架服務器,再到刀片服務器的發展歷程。
塔式服務器
外形及結構都與普通的PC機差不多,主板擴展性較強,機箱內部往往會預留很多空間,以便進行硬盤,電源等的冗余擴展。缺點是體積較大,占用空間多,不方便管理。
機架服務器
外觀按照統一標準來設計,配合機柜統一使用。相比塔式服務器,占用空間小,便于統一管理,但由于內部空間限制,擴充性較受限制。
刀片服務器
是一種低成本服務器平臺,是專門為特殊應用行業和高密度計算機環境設計的,其主要結構為一大型主體機箱,內部可插上許多“刀片”,其中每一塊刀片實際上就是一塊系統母板,類似于一個個獨立的服務器,它們可以通過本地硬盤啟動自己的操作系統。刀片服務器比機架式服務器更節省空間,且擴展性較強。
目前電信級服務器的主流硬件平臺是刀片式服務器組成的集群,并以負載均衡、四層交換等技術為基礎實現高性能的業務數據的處理。
異常處理
要滿足5個9的高可用性要求,很多對于普通服務器來說出現幾率很小而可以忽略不計的異常情況,對電信級服務器來說則是必須應對的風險。
·存儲空間不足
由于電信級服務器需要不間斷處理海量數據,即使配置海量數據存儲設備,有定期的數據清理機制,也必須要考慮空間滿的情況,要慎重分析業務峰值的壓力,確保在空間不足的時候業務不會中斷。而相應的常采用的技術方案包括備用存儲、告警恢復等等。
·數據庫異常
即便是oracle和sybase等業內成熟的商用數據庫,支撐電信級服務器時也不能完全避免掛起、死鎖等問題。以我在電信行業工作十年的經歷,接近1/5的現網問題都和數據庫異常有關。所以電信級服務器必須要有在數據庫異常時確保業務不中斷的機制。
·硬件設備異常
電信級服務器最常出現問題的設備是磁盤/磁陣,我在工作中經常碰到磁陣掛起導致的現網問題。所以設計電信級服務器的時候,必須要有應急機制,避免因為硬件故障導致業務長時間中斷。
本文介紹了電信級服務器的三個重要特征:高性能、高可用性和高安全性,并從流程設計、硬件平臺和異常處理三個方面簡單介紹了電信級服務器的軟件設計。當然,電信級服務器軟件的架構需要考慮的方面遠不只這些,要成功開發的電信級服務器軟件,除了扎實地通信領域技術基礎,長期的軟件開發經驗積累,還需要特別能戰斗的團隊組織。
作者簡歷
|
責任編輯:張偉
來源:
51CTO ![]() ![]() 相關推薦 2009-01-09 22:45:21 2010-08-23 17:43:43 2009-10-10 11:39:22 ![]() ![]() ![]() ![]() ![]() 51CTO技術棧公眾號 ![]() |