大并發量訪問架構分析
一、系統并發訪問量的等級
信息系統基本模型是:C/S 結構,即“客戶”與“服務器”的結構形式。任何信息
系統結構(無論是 B/S ,B/S/S,C/S/S)都可以抽象為簡單的 C/S 結構。
圖,客戶服務器結構信息系統
當大量“客戶”同時訪問一個“服務器”時,“服務器”面臨的是大并發訪問的技 術和架構問題。大并發訪問的等級可以分為“超出連接”、“超出時限”和“超出應用 負載”三種。
1.1超出連接
圖,訪問請求超出連接容量
當客戶的連接超出數據庫的連接數或并發處理能力,當時沒有超出服務器的瞬間處
理能力,可以采用“訪問隊列”進行排隊。提高用戶體驗。
比如,數據庫的并行處理是 10 訪問請求,“瞬間處理能力”為 2 秒中內處理 1000
個請求。當最大并發客戶訪問請求是 1000 個,如果不加隊列,將有 1000-10=990 個客 戶請求失敗。如果應用“訪問隊列”,在不到 2 秒的瞬間,數據庫處理完畢這 1000 個
訪問請求。全部客戶體驗良好。
圖,訪問隊列管理服務結構
所以,當并發量超出并發處理能力,而在瞬間處理范圍內時,“訪問隊列服務”是
有效的方法。
1.2超出時限
同樣是并行處理能力是 10 個訪問,2 秒可以處理 1000 個請求,當最大并發客戶訪
問請求是 10000 個時,會出現等待 10 秒到 20 秒的請求。設客戶端可以容許的超時為 4
秒。則需要新的手段提高服務器的瞬間處理能力。
圖,應用服務結構
由于數據庫系統的并行處理能力比較低,相同的運算在數據庫系統中比在操作系統 中要慢。所以將可以分離出的運算程序由數據庫移出,在“訪問隊列服務”層執行,將
會大大提供整個服務器的處理能力。
承擔了訪問隊列管理和一部分業務運算功能的中間服務,稱為“應用服務”。
1.3超出應用負載
如果承擔了大量的業務運算功能的“應用服務”的處理能力成為系統效率的瓶頸,
即隊列壓力超出“應用服務”的處理能力,則需要將“應用服務”進行擴展。
圖,應用服務擴展
擴展的方法是在不同的設備上同時啟動應用服務,形成一個“應用服務群”,多個 服務分擔業務處理請求,并保證每個“應用服務”有充足的系統資源。
二、應用服務器架構分析 ----- ISFRAME DA
數據訪問中間件 DA(Data Access)系統架構中間件 ISFRAME 的一部分。DA 主要解
決業務訪問的技術問題和邏輯控制。
2.1 ISFRAME DA架構:結構清晰,易于開發和維護
圖,ISFRAME DA 應用服務器架構
ISFRAME DA 架構依次為訪問請求、負載均衡器、應用服務群組、被訪問資源。
訪問請求包括來自于“終端程序”和來自于“其它應用服務器”的訪問請求。
“負載均衡器”將訪問請求分配給較空閑的“DA 服務”。
“DA 服務”既包含“訪問隊列管理”,又包含了業務操作。多個“DA 服務”構成
應用服務群組。
“DA 服務”訪問“被訪問資源”,“被訪問資源”包括“本地數據”和“其它應
用服務器”
2.2 ISFRAME DA的隊列管理:入隊列訪問排隊,出隊列面向資源
DA 應用服務器接收來自客戶終端和其它應用服務器的訪問請求,并發起對本地數
據資源和其他應用服務器的訪問,管理“入”和“出”兩種隊列。
2.3 ISFRAME DA的應用掛載:直接執行多種程序,避免數據庫接口開發,
方便業務功能擴展和升級
DA 服務中可以通過定義的方式,將業務操作“掛載”到 DA 服務上。DA 服務可以
執行動態庫函數、存儲過程、可執行程序、全程指令多種操作。且定義簡單,減少了程
序編寫。
DA 的應用程序掛載功能,方便業務系統的功能擴展和修改。
2.4 ISFRAME DA的負載均衡:負載均衡,應用服務動態擴展
DA 的負載均衡功能使“DA 服務”可以動態增、減等擴展。
2.5 ISFRAME DA多點協同作業:跨節點協作,實現系統的整體功能,使
系統高效、靈活
DA 應用服務器可以接收其他服務器的指令,并可以向其它服務器發送指令。該功
能完成 S/S 的訪問和協同作業。多個服務器聯合完成一個客戶端的指令。
ISFRAME DA 是訪問管理的高效中間件,接口簡單,應用方便,減少編程開發。很少
的投入,就可以迅速構建起復雜的業務系統。
文章標簽: 架構
關注微信公眾號“架構說”,加入Q群微群,讓架構師帶你飛︿( ̄︶ ̄)︿。
原文鏈接: 閱讀原文 免責申明: 架構說任何轉載的文章都會明確標注原文鏈接。如有侵權,請與本站聯系。 轉載說明: 架構說原創文章轉載時請務必注明文章作者、鏈接和來源。
來自:http://www.jiagoushuo.com/article/1000466.html